[英]Convert string using regex in Java
我正在嘗試替換此字符串:
String str2 = "/EMOTIONS_TAX/29027000/Points Of Interest/totem,"
+ "/EMOTIONS_TAX/29044000/Places/Italia,"
+ "/EMOTIONS_TAX/29027000/Military Equipment";
進入:
String str2 = "/EMOTIONS_TAX/22/Points Of Interest/totem,"
+ "/EMOTIONS_TAX/22/Places/Italia,"
+ "/EMOTIONS_TAX/22/Military Equipment/sica";
所以,我想用"22"
替換字符串中的所有長數字。
你能解釋一下我該怎么做嗎?
預先感謝您的任何答復。
如果您只想替換長數字,只需按如下方式通過regex
即可實現:
String str2 = "/EMOTIONS_TAX/29027000/Points Of Interest/totem,"
+ "/EMOTIONS_TAX/29044000/Places/Italia,"
+ "/EMOTIONS_TAX/29027000/Military Equipment";
str2 = str2.replaceAll("\\d+", "22");
結果將是:
/EMOTIONS_TAX/22/Points Of Interest/totem,/EMOTIONS_TAX/22/Places/Italia,/EMOTIONS_TAX/22/Military Equipment
作為OP的要求,OP實際上嘗試從字符串中檢索數字,解決方案應該是:
String str2 = "/EMOTIONS_TAX/29027000/Points Of Interest/totem,"
+ "/EMOTIONS_TAX/29044000/Places/Italia,"
+ "/EMOTIONS_TAX/29027000/Military Equipment";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(str2);
while(matcher.find()) {
System.out.println(matcher.group());
}
和輸出:
29027000
29044000
29027000
String result = str2.replaceAll("/\\\d+/", "/22/");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.