我有一个字符串为“新德里,德里 110016”
现在我想在上述字符串中的每个数字之间放置空格,以便得到以下结果:-
“新德里,德里 1 1 0 0 1 6”
伙计们请帮助我..在此先感谢!
String s = "New Delhi, Delhi 110016";
System.out.println(s.replaceAll("(?=[0-9]+)", "$0 "));
输出:New Delhi, Delhi 1 1 0 0 1 6
看这里的例子:Ideone
(?=)
- 积极展望未来
[编辑]
正如 alfasin 所注意到的,我在文本和数字组之间有额外的空间。
将其更改为:
System.out.println(s.replaceAll("(?=[0-9]+).", "$0 ").trim());
它可以很容易地完成:
String text = "New Delhi, Delhi 110016";
System.out.println("text = " + text.replaceAll("(\\d)","$1 ").trim());
输出:
text = New Delhi, Delhi 1 1 0 0 1 6
评论:
我曾经trim()
删除字符串末尾的额外空格 - 但大多数情况下它是不需要的(您在问题中提供的示例输出在最后一位数字之后也有一个尾随空格!)。
String test = "New Delhi, Delhi 110016";
for (int i = 0; i < test.length(); i++) {
test=test.replace(String.valueOf(i) , String.valueOf(i)+" ");
}