3

私はこれを持っています:

var str = A123B234C456;

次のようなものを返すには、カンマ区切りのチャンクに分割する必要があります。

A,123,B,234,c,456

これには正規表現が最適だと思いましたが、行き詰まり続けています。基本的に、文字列の置換を試みましたが、2番目の引数で正規表現を使用することはできません。

私はそれをシンプルでクリーンに保ち、このようなことをしたいのですが、うまくいきません:

str = str.replace(/[\d]+/, ","+/[\d]+/);

しかし、現実の世界では、それは単純すぎるでしょう。

出来ますか?

4

3 に答える 3

7

文字を一致させてから結合する方が賢明かもしれません。

str = str.match(/(\d+|[^\d]+)/g).join(',');

ただし、文字列を定義するときは引用符を省略しないでください。

var str = 'A123B234C456';
于 2011-05-19T14:42:27.763 に答える
0

正規表現を使用して replace() で実行できます。

例えば、

var str = "A123B234C456";
str = str.replace(/([a-bA-B])/g, '$1,');

これで str の値は 'A,123,B234,C456' になります。

于 2011-05-19T14:47:07.640 に答える