如何将文本替换为其他内容但只替换一次,因为字符可能会被替换两次。例如,替换" 0123456789"至" 30 31 32 33 34 35 36 37 38 39"使用.replace(/ 0 / g," 30")方法但是当我有.replace(/ 3 / g," 33")时,代码变得混乱,如何我只替换一次。
答案 0 :(得分:1)
可以这样做:
String value = "0123456789";
Pattern pattern = Pattern.compile("(\\d)");
System.out.println(pattern.matcher(value).replaceAll("3$1 "));
<强>输出:强>
30 31 32 33 34 35 36 37 38 39
将所有数字替换为3 +组号1,这是此处找到的数字+空格。
NB:您有一个尾随空格,如果需要,可以通过调用String#trim()
删除