2012-01-12 10 views

答えて

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)を使用します。

3

は、私はあなたが正規表現を使用しているこれを行うには

myString.replaceAll("(\\d)([A-Za-z])", "\\1 \\2"); 
関連する問題