如何将逗号插入包含其他单词字符串的数字中

Con*_*ure 2 java string numbers insert divide

我有String以下几点:

"The answer is 1000"
Run Code Online (Sandbox Code Playgroud)

我想在不破坏其余部分的情况下将逗号插入数字1000 String.

注意:我也想将此用于其他String不同长度的,因此substring(int index)不建议获取该号码.

我能想到的最好的方法是使用regex命令,但我不知道如何.

提前致谢!

Bhe*_*ung 5

以下格式为所有非十进制数字:

public String formatNumbers(String input) {
  Pattern p = Pattern.compile("\\d+");
  Matcher m = p.matcher(input);
  NumberFormat nf = NumberFormat.getInstance();        
  StringBuffer sb = new StringBuffer();
  while(m.find()) {
    String g = m.group();
    m.appendReplacement(sb, nf.format(Double.parseDouble(g)));            
  }
  return m.appendTail(sb).toString();
}
Run Code Online (Sandbox Code Playgroud)

例如,如果你打电话: formatNumbers("The answer is 1000 1000000")

结果是: "The answer is 1,000 1,000,000"

见:NumberFormatMatcher.appendReplacement().