我正在处理一个String,
30-Nov-2012 30-Nov-2012 United Kingdom, 31-Oct-2012 31-Oct-2012 United Arab Emirates, 29-Oct-2012 31-Oct-2012 India
每当空格出现在四位数后,我需要添加空格,即:
30-Nov-2012@30-Nov-2012@United Kingdom, 31-Oct-2012@31-Oct-2012@United Arab Emirates, 29-Oct-2012@31-Oct-2012@India
我不知道怎么写正则表达式,请帮忙吗?
答案 0 :(得分:1)
由于您不知道如何编写正则表达式,最好的办法是学习如何使用正则表达式。
这是一个非常好的教程。
http://www.vogella.com/articles/JavaRegularExpressions/article.html
您想要编写的表达式似乎并不复杂。在完成本教程后,您应该能够这样做。
编辑:这是另一个提示。看看replaceAll
Edit2:我很无聊,所以这就是答案。
string.replaceAll("(?<=\\d{4})\\s", "@");
答案 1 :(得分:1)
试试这个正则表达式:
(\d{4})\s+
替换为
$1@
和示例代码:
String result = inputString.replaceAll("(\\d{4})\\s+", "$1@");
解释
的
\d
强> 的 匹配任何十进制数字。的
{n}
强> 的 与前一个元素完全匹配n
次。的
\s
强> 的 匹配任何white-space
字符。的
+
强> 的 匹配前一个元素一次或多次。的
(subexpression)
强> 的 捕获匹配的子表达式并为其指定从零开始的序数。的
$ number
强> 的 替换由组号匹配的子字符串。