1

我有一个字符串为“新德里,德里 110016”

现在我想在上述字符串中的每个数字之间放置空格,以便得到以下结果:-

“新德里,德里 1 1 0 0 1 6”

伙计们请帮助我..在此先感谢!

4

3 回答 3

7
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());  
于 2013-09-12T07:03:40.513 回答
1

它可以很容易地完成:

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()删除字符串末尾的额外空格 - 但大多数情况下它是不需要的(您在问题中提供的示例输出在最后一位数字之后也有一个尾随空格!)。

于 2013-09-12T07:07:22.293 回答
-1
String test = "New Delhi, Delhi 110016";
for (int i = 0; i < test.length(); i++) {
    test=test.replace(String.valueOf(i) , String.valueOf(i)+" ");
}
于 2013-09-12T07:10:06.450 回答