最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java從字符串中提取數(shù)字的簡單實(shí)例

 更新時(shí)間:2016年10月26日 10:35:04   投稿:jingxian  
下面小編就為大家?guī)硪黄猨ava從字符串中提取數(shù)字的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

隨便給你一個(gè)含有數(shù)字的字符串,比如:

String s="eert343dfg56756dtry66fggg89dfgf";

那我們?nèi)绾伟哑渲械臄?shù)字提取出來呢?大致有以下幾種方法,正則表達(dá)式,集合類,還有就是String類提供的方法。

1 String類提供的方法:

package 測試練習(xí);
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

這個(gè)方法有個(gè)明顯的缺點(diǎn),只能把數(shù)字全部提取到一起,不能分別提取。當(dāng)然也可以改進(jìn),有興趣的朋友可以試試。

2 正則表達(dá)式

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軟件包里的兩個(gè)類,具體用法大家可以查閱一下api。同樣也不能單個(gè)提取數(shù)字。

3 集合類庫

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]

相同的思路:

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]

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

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

/**
 * 從字符串文本中獲得數(shù)字 

*@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; 

}

兩個(gè)用正則表達(dá)式匹配的判斷方法,如下;

// 判斷一個(gè)字符串是否都為數(shù)字 
public boolean isDigit(String strNum) { 
  return strNum.matches("[0-9]{1,}"); 
} 
 
// 判斷一個(gè)字符串是否都為數(shù)字 
public boolean isDigit(String strNum) { 
  Pattern pattern = Pattern.compile("[0-9]{1,}"); 
  Matcher matcher = pattern.matcher((CharSequence) strNum); 
  return matcher.matches(); 
} 
 
  //截取數(shù)字 
  public String getNumbers(String content) { 
    Pattern pattern = Pattern.compile("\\d+"); 
    Matcher matcher = pattern.matcher(content); 
    while (matcher.find()) { 
      return matcher.group(0); 
    } 
    return ""; 
  } 
 
// 截取非數(shù)字 
public String splitNotNumber(String content) { 
  Pattern pattern = Pattern.compile("\\D+"); 
  Matcher matcher = pattern.matcher(content); 
  while (matcher.find()) { 
    return matcher.group(0); 
  } 
  return ""; 
} 

以上就是小編為大家?guī)淼膉ava從字符串中提取數(shù)字的簡單實(shí)例全部內(nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • java編程多線程并發(fā)處理實(shí)例解析

    java編程多線程并發(fā)處理實(shí)例解析

    這篇文章主要介紹了java編程多線程并發(fā)處理實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Java線程池submit阻塞獲取結(jié)果的實(shí)現(xiàn)原理詳解

    Java線程池submit阻塞獲取結(jié)果的實(shí)現(xiàn)原理詳解

    Java線程池中提交任務(wù)運(yùn)行,通常使用execute()方法就足夠了。那如果想要實(shí)現(xiàn)在主線程中阻塞獲取線程池任務(wù)運(yùn)行的結(jié)果,該怎么辦呢?本文就來和大家一起討論討論
    2022-10-10
  • SpringBoot2+Netty+WebSocket(netty實(shí)現(xiàn)websocket支持URL參數(shù))問題記錄

    SpringBoot2+Netty+WebSocket(netty實(shí)現(xiàn)websocket支持URL參數(shù))問題記錄

    Netty?是一個(gè)利用?Java?的高級(jí)網(wǎng)絡(luò)的能力,隱藏其背后的復(fù)雜性而提供一個(gè)易于使用的?API?的客戶端/服務(wù)器框架,這篇文章主要介紹了SpringBoot2+Netty+WebSocket(netty實(shí)現(xiàn)websocket,支持URL參數(shù)),需要的朋友可以參考下
    2023-12-12
  • springboot整合kaptcha驗(yàn)證碼的示例代碼

    springboot整合kaptcha驗(yàn)證碼的示例代碼

    kaptcha是一個(gè)很有用的驗(yàn)證碼生成工具,本篇文章主要介紹了springboot整合kaptcha驗(yàn)證碼的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • IDEA安裝詳細(xì)步驟(多圖預(yù)警)

    IDEA安裝詳細(xì)步驟(多圖預(yù)警)

    這篇文章主要介紹了IDEA安裝詳細(xì)步驟(多圖預(yù)警),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • MAVEN的安裝配置與IDEA整合超詳細(xì)教程

    MAVEN的安裝配置與IDEA整合超詳細(xì)教程

    這篇文章給大家介紹了MAVEN的安裝,配置與IDEA整合方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,感興趣的朋友跟隨小編一起看看吧
    2021-02-02
  • Java字符串替換的三種方法實(shí)際應(yīng)用

    Java字符串替換的三種方法實(shí)際應(yīng)用

    這篇文章主要給大家介紹了關(guān)于Java字符串替換的三種方法,replace和replaceAll是JAVA中常用的替換字符的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Java?中的靜態(tài)字段和靜態(tài)方法?

    Java?中的靜態(tài)字段和靜態(tài)方法?

    這篇文章主要介紹了Java中的靜態(tài)字段和靜態(tài)方法,文章圍繞Java?靜態(tài)方法展開詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-03-03
  • @PathVariable 如何自動(dòng)填充入實(shí)例對象中

    @PathVariable 如何自動(dòng)填充入實(shí)例對象中

    這篇文章主要介紹了@PathVariable 實(shí)現(xiàn)自動(dòng)填充入實(shí)例對象中的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • JAVA線程用法詳解

    JAVA線程用法詳解

    這篇文章主要介紹了JAVA線程用法,配合實(shí)例針對Java中線程的開啟、sleep、合并與讓出等進(jìn)行了較為深入的分析,需要的朋友可以參考下
    2014-08-08

最新評論

汤原县| 石河子市| 南靖县| 姜堰市| 页游| 郁南县| 浦江县| 徐水县| 清丰县| 绵竹市| 宁安市| 商水县| 通道| 彰武县| 浏阳市| 丰顺县| 额敏县| 克东县| 扎兰屯市| 加查县| 郁南县| 石楼县| 安新县| 筠连县| 宁陕县| 儋州市| 卫辉市| 鲁山县| 大化| 浙江省| 扶绥县| 崇仁县| 龙南县| 荣昌县| 黑山县| 磴口县| 收藏| 安龙县| 溆浦县| 垣曲县| 通江县|