java提取字符串中數字string以及獲取字符串中的整數或小數
更新時間:2023年08月24日 10:04:56 作者:ekkcole
這篇文章主要給大家介紹了關于java提取字符串中數字string以及獲取字符串中的整數或小數的相關資料,需要的朋友可以參考下
方法一:提取字符串中的數字
// 提取字符串中的數字
public static String extractNumbers(String input) {
return input.replaceAll("[^0-9]", "");
}方法二:獲取字符串中的整數或小數
public static String getNumber(String str) {
if (Func.isNotEmpty(str)) {
String pReg = "(\\d+\\.\\d+)";
// 控制正則表達式的匹配行為的參數(小數)
Pattern p = Pattern.compile(pReg);
//Matcher類的構造方法也是私有的,不能隨意創(chuàng)建,只能通過Pattern.matcher(CharSequence input)方法得到該類的實例.
Matcher m = p.matcher(str);
//m.find用來判斷該字符串中是否含有與"(\\d+\\.\\d+)"相匹配的子串
if (m.find()) {
//如果有相匹配的,則判斷是否為null操作
//group()中的參數:0表示匹配整個正則,1表示匹配第一個括號的正則,2表示匹配第二個正則,在這只有一個括號,即1和0是一樣的
str = m.group(1) == null ? "" : m.group(1);
} else {
//如果匹配不到小數,就進行整數匹配
pReg = "(\\d+)";
p = Pattern.compile(pReg);
m = p.matcher(str);
if (m.find()) {
//如果有整數相匹配
str = m.group(1) == null ? "" : m.group(1);
} else {
//如果沒有小數和整數相匹配,即字符串中沒有整數和小數,就設為空
str = "";
}
}
return str;
}
return null;
}補充知識:java字符串中提取數字非正則表達式方法
使用Java中的Character類中的isDigit()方法來判斷當前字符是否為數字,并在字符串中進行遍歷。
public class ExtractNumbersFromString {
public static void main(String[] args) {
String str = "有12只貓和13只狗。";
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray()) {
if (Character.isDigit(c)) {
sb.append(c);
}
}
System.out.println(sb.toString());
}
}運行上述代碼,即可從字符串中提取數字并輸出。
總結
到此這篇關于java提取字符串中數字string以及獲取字符串中的整數或小數的文章就介紹到這了,更多相關java提取字符串數字內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

