Java如何使用正則表達(dá)式從字符串中提取數(shù)字
使用正則表達(dá)式從字符串中提取數(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)); } /** * 結(jié)果: * 111 * 222 * 33 * 44444 */ }
java從字符串中提取數(shù)字,這個(gè)方法真的很不錯(cuò)
Java中提取字符串中的數(shù)字,可以使用正則表達(dá)式或非正則表達(dá)式的方法。
1.使用正則表達(dá)式
可以使用正則表達(dá)式"\d+"來(lái)匹配字符串中的數(shù)字,并使用Matcher和Pattern類實(shí)現(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.非正則表達(dá)式方法
使用Java中的Character類中的isDigit()方法來(lái)判斷當(dāng)前字符是否為數(shù)字,并在字符串中進(jìn)行遍歷。
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()); } }
運(yùn)行上述代碼,即可從字符串中提取數(shù)字并輸出。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring中的@PathVariable注解詳細(xì)解析
這篇文章主要介紹了Spring中的@PathVariable注解詳細(xì)解析,@PathVariable 是 Spring 框架中的一個(gè)注解,用于將 URL 中的變量綁定到方法的參數(shù)上,它通常用于處理 RESTful 風(fēng)格的請(qǐng)求,從 URL 中提取參數(shù)值,并將其傳遞給方法進(jìn)行處理,需要的朋友可以參考下2024-01-01Spring多數(shù)據(jù)源導(dǎo)致配置失效的解決
這篇文章主要介紹了Spring多數(shù)據(jù)源導(dǎo)致配置失效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(48)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-08-08Java詳細(xì)分析Lambda表達(dá)式與Stream流的使用方法
Lambda表達(dá)式,基于Lambda所帶來(lái)的函數(shù)式編程,又引入了一個(gè)全新的Stream概念,用于解決集合類庫(kù)既有的弊端,Lambda 允許把函數(shù)作為一個(gè)方法的參數(shù)(函數(shù)作為參數(shù)傳遞進(jìn)方法中)。使用 Lambda 表達(dá)式可以使代碼變的更加簡(jiǎn)潔緊湊2022-04-04Netty學(xué)習(xí)教程之Netty與Marshalling結(jié)合發(fā)送對(duì)象
Netty是由JBOSS提供的一個(gè)Java開(kāi)源框架,之前已經(jīng)給大家簡(jiǎn)單介紹了一些基礎(chǔ)與使用,下面這篇文章主要給大家介紹了關(guān)于Netty與Marshalling結(jié)合發(fā)送對(duì)象的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-05-05Java超詳細(xì)講解WebMvcConfigurer攔截器
這篇文章將用實(shí)例來(lái)和大家介紹一下WebMvcConfigurer攔截器。文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java有一定的幫助,需要的可以參考一下2022-06-06Java小程序賽馬游戲?qū)崿F(xiàn)過(guò)程詳解
這篇文章主要介紹了Java小程序賽馬游戲?qū)崿F(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03