如何在Java中的字符串中添加数字和单词之间的空格?

我有很多字符串,其中也包含如下数字:LOD140IXAL COMP 1X240GG

如果没有,我想在数字和单词之间加上空格。 数字可以是字符串中的每个位置。

一种方法是使用正则表达式。 用一个空格替换下面的怪物应该可以解决问题:

"(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])" 

当应用于您的示例( LOD140IXAL COMP 1X240GG )时,它会生成LODIXAL COMP 1 X 240 MG

简而言之,正则表达式会查找紧跟一个数字的字母,或紧跟一个字母后面的数字,并在它们之间插入一个空格。 为此,它使用零宽度断言(前瞻和后观) 。

我想你想要的东西

 myString.replaceAll( "(\\d)([A-Za-z])", "\\1 \\2" );