我有很多字符串,其中也包含如下数字:LOD140IXAL COMP 1X240GG
如果没有,我想在数字和单词之间加上空格。 数字可以是字符串中的每个位置。
答案 0 :(得分:8)
执行此操作的一种方法是使用正则表达式。用一个空格替换下面的怪物应该可以解决问题:
"(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])"
当应用于您的示例(LOD140IXAL COMP 1X240GG
)时,它会生成LODIXAL COMP 1 X 240 MG
。
简而言之,正则表达式会查找紧跟一个数字的字母,或紧跟一个字母的数字,并在它们之间插入一个空格。为实现此目的,它使用zero-width assertions (lookahead and lookbehind)。
答案 1 :(得分:3)
我想你想要像
这样的东西myString.replaceAll( "(\\d)([A-Za-z])", "\\1 \\2" );