pse*_*dom 4 java regex replaceall
我有以下字符串:
String line = "367,881 1,092,781 17,819 220 89,905 194,627 342 1,763,575";
Run Code Online (Sandbox Code Playgroud)
该字符串在前两个数字之间有一个空格:367,881和1,092,781.其余的数字被不止一个空间包围.我想为前两个数字添加额外的空格.
使用replace添加两个空格不起作用,因为它还为其他数字添加了额外的空间.
line = line.replace(" ", " ");
Run Code Online (Sandbox Code Playgroud)
有什么方法可以为两个仅由一个空格分隔的数字添加额外的空间?
您可以使用以下正则表达式:
String line = "367,881 1,092,781 17,819 220 89,905 194,627 342 1,763,575";
System.out.println(line.replaceAll("(\\d)\\s(\\d)", "$1 $2"));
Run Code Online (Sandbox Code Playgroud)
这(\\d)\\s(\\d)匹配由单个空格分隔的两个数字.由于我们还需要在替换时保留空格周围的数字,我们可以使用$1等等来获取捕获组.