我想使用java方法ReplaceAll替换数字之前的空格?我该如何创建一个正则表达式呢?
以下是一个例子:
我想改变:
John 9:50
Steve 12:30
Luke Peter 14:44
要:
John\t9:50
Steve\t12:30
Luke Peter\t14:44
答案 0 :(得分:3)
这是positive lookahead assertion:
的工作String resultString = subjectString.replaceAll(" (?=\\d)", "\t");
如果您指的是任何类型的空白(包括标签,换行符,换页等),请使用\\s
而不是我在此处使用的简单空间。
答案 1 :(得分:1)
String newStr = oldStr.replaceAll(" (?=\\d)","\\t");
答案 2 :(得分:1)
没有其他人建议:
str = str.replaceAll("\\s+(?=\\d)", "\\t");
这会在带有制表符char的数字之前替换任意数量的空白字符。
其他答案全部仅替换数字前的 last 空格,可能会导致最终字符串中的多个标签。