如何使用Replace方法替换数字前的空格?

时间:2013-09-10 20:35:29

标签: java regex

我想使用java方法ReplaceAll替换数字之前的空格?我该如何创建一个正则表达式呢?

以下是一个例子:

我想改变:

John 9:50
Steve 12:30
Luke Peter 14:44

要:

John\t9:50
Steve\t12:30
Luke Peter\t14:44

3 个答案:

答案 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 空格,可能会导致最终字符串中的多个标签。