【发布时间】:2013-05-30 14:53:35
【问题描述】:
有这样的字符串
“APM35 2FAST4YOU -5ABBA STEVE0.5&Tom”
并使用正则表达式我没有得到我想要的结果。如何在每个整数之前和之后添加空格? 代码:
String s = "APM35 2FAST4YOU -5ABBA STEVE0.5&Tom";
s = s.replaceAll("(\\d)([A-Za-z])", "\\1 \\2");
System.out.println(s);
我得到这样的结果:
APM35 1 2AST1 2OU -1 2BBA STEVE0.5&Tom
我想得到这个字符串作为结果:
APM 35 2 FAST 4 YOU -5 ABBA STEVE 0.5 &Tom
【问题讨论】:
-
IMO 我不会为此使用
String#replaceAll。 -
@LuiggiMendoza 你会怎么做?
-
@LuiggiMendoza 请随意给我任何你想到的建议。
-
我会逐个字符地遍历
String字符并定义数字(注意它可以包含一个点.)和一个非数字String之间的差异(因为&之类的符号不在[A-Za-z]内)。另外,你不知道哪个会先来。 -
@LuiggiMendoza 正则表达式会更短