Java如何使用正則表達式從字符串中提取數(shù)字
更新時間:2023年12月19日 08:56:45 作者:bat在等我
這篇文章主要介紹了Java如何使用正則表達式從字符串中提取數(shù)字問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
使用正則表達式從字符串中提取數(shù)字
public static void main(String[] args) { String content = "111adj222adf33-f44444"; Pattern pattern = compile("\\d+"); // java.util.regex.Pattern.compile Matcher matcher = pattern.matcher(content); while (matcher.find()) { System.out.println(matcher.group(0)); } /** * 結果: * 111 * 222 * 33 * 44444 */ }
java從字符串中提取數(shù)字,這個方法真的很不錯
Java中提取字符串中的數(shù)字,可以使用正則表達式或非正則表達式的方法。
1.使用正則表達式
可以使用正則表達式"\d+"來匹配字符串中的數(shù)字,并使用Matcher和Pattern類實現(xiàn)。
import java.util.regex.Matcher; import java.util.regex.Pattern; public class ExtractNumbersFromString { public static void main(String[] args) { String str = "有12只貓和13只狗。"; Pattern pattern = Pattern.compile("\\d+"); Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println(matcher.group()); } } }
2.非正則表達式方法
使用Java中的Character類中的isDigit()方法來判斷當前字符是否為數(shù)字,并在字符串中進行遍歷。
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()); } }
運行上述代碼,即可從字符串中提取數(shù)字并輸出。
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java詳細分析Lambda表達式與Stream流的使用方法
Lambda表達式,基于Lambda所帶來的函數(shù)式編程,又引入了一個全新的Stream概念,用于解決集合類庫既有的弊端,Lambda 允許把函數(shù)作為一個方法的參數(shù)(函數(shù)作為參數(shù)傳遞進方法中)。使用 Lambda 表達式可以使代碼變的更加簡潔緊湊2022-04-04Netty學習教程之Netty與Marshalling結合發(fā)送對象
Netty是由JBOSS提供的一個Java開源框架,之前已經(jīng)給大家簡單介紹了一些基礎與使用,下面這篇文章主要給大家介紹了關于Netty與Marshalling結合發(fā)送對象的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05