簡體   English   中英

如何使用一種正則表達式模式使String成為Java中的另一種正則表達式模式?

[英]How do I use one regex pattern to make a String become another regex pattern in Java?

提供一個簡單的示例可以得出我不要求的解決方案,並且由於我要解決的模式要復雜得多,因此替代解決方案將不起作用。

假設您有一個String 123.321

這個字符串可以用正則表達式表示為[0-9]*\\\\.[0-9]*我要做的是替換“。” 用“,”獲得123,321。

因此,我希望正則表達式模式[0-9]*\\\\.[0-9]*成為正則表達式模式[0-9]*,[0-9]*

是否可以指示兩個正則表達式模式並使與第一個模式匹配的字符串成為與第二個模式匹配的字符串?

我該怎么辦?

什么是最簡單的解決方案?

您可以使用\\\\d*匹配可選數字,並用()將匹配的數字分組。 然后像這樣使用String.replaceAll(String, String)

String str = "123.321";
if (str.matches("\\d*\\.\\d*")) {
  str = str.replaceAll("(\\d*)\\.(\\d*)", "$1,$2");
}
System.out.println(str);

輸出是(根據要求)

123,321

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM