一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java從字符串中提取數字的簡單實例

java從字符串中提取數字的簡單實例

2020-06-27 14:47java教程網 JAVA教程

下面小編就為大家帶來一篇java從字符串中提取數字的簡單實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

隨便給你一個含有數字的字符串,比如:

String s="eert343dfg56756dtry66fggg89dfgf";

那我們如何把其中的數字提取出來呢?大致有以下幾種方法,正則表達式,集合類,還有就是String類提供的方法。

1 String類提供的方法:

java" id="highlighter_801090">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package 測試練習;
import Java.util.*;
public class get_StringNum {
 
 
/**
 *2016.10.25
 */
 
public static void main(String[] args) {
String str = "love23next234csdn3423javaeye";
str=str.trim();
String str2="";
if(str != null && !"".equals(str)){
for(int i=0;i<str.length();i++){
if(str.charAt(i)>=48 && str.charAt(i)<=57){
str2+=str.charAt(i);
}
}
 
}
System.out.println(str2);
}
 
}
 
output:
 
232343423

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

2 正則表達式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class get_StringNum {
 
 
/**
 *2016.10.25
 */
 
public static void main(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。同樣也不能單個提取數字

3 集合類庫

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class get_StringNum {
 
 
/**
 *2016.10.25
 */
 
public static void main(String[] args) {
  String a="love23next234csdn3423javaeye";
List<String> digitList = new ArrayList<String>();
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]

相同的思路:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class get_StringNum {
 
 
/**
 *2016.10.25
 */
 
public static void main(String[] args) {
        String a="love23next234csdn3423javaeye";
    List<String> ss = new ArrayList<String>();
    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]

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
 * 從字符串文本中獲得數字
 
*@param
 text
 
*@return
 
 
*/
 
 
publicstatic
 List<Long>
 getDigit(String text) {
 
List<Long>
 digitList =new
 ArrayList<Long>();
 
 
Pattern p=
 Pattern.compile("(\\d+)");
 
 
Matcher m=
 p.matcher(text);
 
while
 (m.find()) {
 
String find=
 m.group(1).toString();
 
digitList.add(Long.valueOf(find));
 
}return
 digitList;
 
}

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 判斷一個字符串是否都為數字
public boolean isDigit(String strNum) {
  return strNum.matches("[0-9]{1,}");
}
 
// 判斷一個字符串是否都為數字
public boolean isDigit(String strNum) {
  Pattern pattern = Pattern.compile("[0-9]{1,}");
  Matcher matcher = pattern.matcher((CharSequence) strNum);
  return matcher.matches();
}
 
  //截取數字
  public String getNumbers(String content) {
    Pattern pattern = Pattern.compile("\\d+");
    Matcher matcher = pattern.matcher(content);
    while (matcher.find()) {
      return matcher.group(0);
    }
    return "";
  }
 
// 截取非數字
public String splitNotNumber(String content) {
  Pattern pattern = Pattern.compile("\\D+");
  Matcher matcher = pattern.matcher(content);
  while (matcher.find()) {
    return matcher.group(0);
  }
  return "";
}

以上就是小編為大家帶來的java從字符串中提取數字的簡單實例全部內容了,希望大家多多支持服務器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: bestialityvideo另类| 双性双根| 日韩精品亚洲专区在线影视 | 亚洲一区二区三区在线播放 | h视频免费高清在线观看 | 亚洲精品AV无码喷奶水糖心 | 国产亚洲综合精品一区二区三区 | 人与动人物人a级特片 | 国产1广场舞丰满老女偷 | 成人网视频免费播放 | 青青国产成人久久激情91麻豆 | 日本高清二三四本2021 | 日韩大片在线 | 日本理论片中文在线观看2828 | 日韩精选在线 | 欧美日韩一区不卡 | 国产亚洲精品自在线亚洲情侣 | 亚洲成人福利网站 | 麻豆视频网 | 大胸被c出奶水嗷嗷叫 | 九九大香尹人视频免费 | 叛佛 作者满栀小说免费阅读 | 日韩精品免费一区二区三区 | 美女被狂干| 奇米影视99| 国语对白做受xxxx | 千金肉奴隶在线观看 | 欧美 亚洲 一区 | 日韩亚洲国产激情在线观看 | 俄罗斯处女 | 国产日韩一区二区三区 | 日本大片网 | 桃子视频www| 双子母性本能在线观看 | 调教校花浣肠开菊 | 久久婷婷五月综合色丁香 | 免费视频完整版在线观看网站 | 国产高清自拍 | 网友自拍咪咪爱 | 99热这里只有精品国产在热久久 | 小浪妇奶真大水多 |