[英]How to extract a number from string using regex in java
我嘗試使用
title.substring(title.lastIndexOf("(") + 1, title.indexOf(")"));
我只想提取1899年這樣的年份。
它對像“ hadoop(1899)”這樣的字符串很好用,但是對字符串“ hadoop(yarn)(1980)”拋出錯誤
只需用正則表達式替換括號中除數字以外的所有數字
String foo = "hadoop (1899)"; // or "hadoop(yarn)(1980)"
System.out.println(foo.replaceAll(".*\\((\\d+)\\).*", "$1"));
嗨,看看這個例子。 這是正則表達式,用於提取括號內的數字。
這是您可以使用的可用代碼:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
final String regex = "(?<=\\()\\d+(?=\\))";
final String string = "\"hadoop (1899)\" \"hadoop(yarn)(1980)\"";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.