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?Cloud?Gateway?整合?knife4j?聚合接口文檔功能
這篇文章主要介紹了Spring?Cloud?Gateway?整合?knife4j?聚合接口文檔的相關(guān)知識(shí),我們可以基于?Spring?Cloud?Gateway?網(wǎng)關(guān)?+?nacos?+?knife4j?對(duì)所有微服務(wù)項(xiàng)目的接口文檔進(jìn)行聚合,從而實(shí)現(xiàn)我們想要的文檔管理功能,需要的朋友可以參考下2022-02-02
Java實(shí)現(xiàn)Socket服務(wù)端與客戶端雙向通信功能
大家好,由于工作上業(yè)務(wù)的需要,在java項(xiàng)目中引入了socket通信,特此記錄一下,用以備份,本文章中的socket通信實(shí)現(xiàn)了,服務(wù)端與客戶端的雙向通訊,以及二者之間的心跳通信,服務(wù)端重啟之后,客戶端的自動(dòng)重連功能,需要的朋友可以參考下2025-04-04
簡(jiǎn)單談?wù)凧ava遍歷樹(shù)深度優(yōu)先和廣度優(yōu)先的操作方式
這篇文章主要介紹了簡(jiǎn)單談?wù)凧ava遍歷樹(shù)深度優(yōu)先和廣度優(yōu)先的操作方式的相關(guān)資料,需要的朋友可以參考下2023-03-03
SpringBoot項(xiàng)目集成License授權(quán)與續(xù)期完整指南
SpringBoot項(xiàng)目中,通過(guò)引入第三方spring-boot-starter-license組件,可以快速實(shí)現(xiàn)系統(tǒng)權(quán)限到期控制、License 證書(shū)管理等功能,具有一定的參考價(jià)值,感興趣的可以了解一下2025-07-07
JAVA應(yīng)用頻繁GC問(wèn)題排查過(guò)程
本文主要記一次針對(duì)系統(tǒng)頻繁GC問(wèn)題的排查過(guò)程,通過(guò)分析dump堆棧文件和線程轉(zhuǎn)儲(chǔ),發(fā)現(xiàn)慢接口的代碼中存在慢SQL,導(dǎo)致數(shù)據(jù)庫(kù)連接池耗盡,進(jìn)而阻塞Dubbo線程,引發(fā)頻繁GC,解決方案包括慢SQL優(yōu)化、方法優(yōu)化和業(yè)務(wù)優(yōu)化2026-04-04
Springboot整合Redis實(shí)現(xiàn)超賣問(wèn)題還原和流程分析(分布式鎖)
最近在研究超賣的項(xiàng)目,寫(xiě)一段簡(jiǎn)單正常的超賣邏輯代碼,多個(gè)用戶同時(shí)操作同一段數(shù)據(jù)出現(xiàn)問(wèn)題,糾結(jié)該如何處理呢?下面小編給大家?guī)?lái)了Springboot整合Redis實(shí)現(xiàn)超賣問(wèn)題還原和流程分析,感興趣的朋友一起看看吧2021-10-10

