日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java string 字符个数字_java从字符串中提取数字

發布時間:2023/12/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java string 字符个数字_java从字符串中提取数字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

string類函數的補充說明:

trim()方法返回調用字符串對象的一個副本,但是所有起始和結尾的空格都被刪除了,例子如下:String s=" Hello World ".trim();就是把"Hello World"放入s中。(注意使用時必須賦值)

1 String類提供的方法:

package測試練習;import Java.util.*;public classget_StringNum {/***2016.10.25*/

public static voidmain(String[] args) {

String str= "love23next234csdn3423javaeye";

str=str.trim();

String str2="";if(str != null && !"".equals(str)){for(int i=0;i=48 && str.charAt(i)<=57){

str2+=str.charAt(i);

}

}

}

System.out.println(str2);

}

}

output:232343423

這個方法有個明顯的缺點,只能把數字全部提取到一起,不能分別提取。當然也可以改進,有興趣的朋友可以試試。

2 正則表達式

import java.util.*;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classget_StringNum {/***2016.10.25*/

public static voidmain(String[] args) {

String a="love23next234csdn3423javaeye";

String regEx="[^0-9]";

Pattern p=Pattern.compile(regEx);

Matcher m=p.matcher(a);

System.out.println( m.replaceAll("").trim());

}

}

output:232343423

Pattern ,Matcher是java.util.regex軟件包里的兩個類,具體用法大家可以查閱一下api。同樣也不能單個提取數字。

Pattern類的作用在于編譯正則表達式后創建一個匹配模式.

Matcher類使用Pattern實例提供的模式信息對正則表達式進行匹配

Pattern complie(String regex)

由于Pattern的構造函數是私有的,不可以直接創建,所以通過靜態方法compile(String regex)方法來創建,將給定的正則表達式編譯并賦予給Pattern類

String pattern() 返回正則表達式的字符串形式,其實就是返回Pattern.complile(String regex)的regex參數

String regex = "\\?|\\*";

Pattern pattern=Pattern.compile(regex);

String patternStr= pattern.pattern();//返回\?\*

replaceAll() 方法使用給定的參數 replacement 替換字符串所有匹配給定的正則表達式的子字符串

3 集合類庫

import java.util.*;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classget_StringNum {/***2016.10.25*/

public static voidmain(String[] args) {

String a="love23next234csdn3423javaeye";

List digitList = new ArrayList();

Pattern p= Pattern.compile("[^0-9]");

Matcher m=p.matcher(a);

String result= m.replaceAll("");for (int i = 0; i < result.length(); i++) {

digitList.add(result.substring(i, i+1));

}

System.out.println(digitList);

}

}

output:

[2, 3, 2, 3, 4, 3, 4, 2, 3]

相同的思路:

import java.util.*;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classget_StringNum {/***2016.10.25*/

public static voidmain(String[] args) {

String a="love23next234csdn3423javaeye";

List ss = new ArrayList();for(String sss:s.replaceAll("[^0-9]", ",").split(",")){if (sss.length()>0)

ss.add(sss);

}

System.out.print(ss);

}

}

output:

[2, 3, 2, 3, 4, 3, 4, 2, 3]

很明顯,利用正則表達式我們就可以分別提取數字了。

另外還有一個利用查閱文檔找出的答案,如下:

/*** 從字符串文本中獲得數字

*@paramtext

*@return

*/publicstatic

ListgetDigit(String text) {

ListdigitList=newArrayList();

Pattern p=Pattern.compile("(\\d+)");

Matcher m=p.matcher(text);while(m.find()) {

String find=m.group(1).toString();

digitList.add(Long.valueOf(find));

}returndigitList;

}

兩個用正則表達式匹配的判斷方法,如下;

//判斷一個字符串是否都為數字

public booleanisDigit(String strNum) {return strNum.matches("[0-9]{1,}");

}//判斷一個字符串是否都為數字

public booleanisDigit(String strNum) {

Pattern pattern= Pattern.compile("[0-9]{1,}");

Matcher matcher=pattern.matcher((CharSequence) strNum);returnmatcher.matches();

}//截取數字

publicString getNumbers(String content) {

Pattern pattern= Pattern.compile("\\d+");

Matcher matcher=pattern.matcher(content);while(matcher.find()) {return matcher.group(0);

}return "";

}//截取非數字

publicString splitNotNumber(String content) {

Pattern pattern= Pattern.compile("\\D+");

Matcher matcher=pattern.matcher(content);while(matcher.find()) {return matcher.group(0);

}return "";

}

總結

以上是生活随笔為你收集整理的java string 字符个数字_java从字符串中提取数字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。