2017-01-17 16 views
-1

後、私は、文字列を持っている:前に取得した文字列内の文字の文字/文字

文字列1:

これはtest12-23です。

文字列2:

これはtest12-33-99です。

ストリング1つの出力:

12 => T、 - 23 => - ,.配列何ら問題になることはできません、私はちょうどこの

文字列2出力必要があります - と33 => - 、 - 99 => -

12 => tで、,.

質問:すべての整数の前後の文字/文字を取得したいと思います。

これは正規表現では可能ですが、これを可能にすることはできません。誰でも助けてくれますか?

ありがとうございます。

+0

-'、 'トンは何ですか?数字だけが必要ですか? 12月の前後には –

+0

、整数23の前後。 手紙の前後に必要です。その非常に具体的な要件。 – rahulsm

+0

正規表現[\ d] +を試して –

答えて

4

RegExp#execメソッドをcapturing group正規表現で使用します。次の文字を得るためにlookahead assertionを使用する必要がありますが、それ以外の場合、regexは次の文字を次の一致から除外します。

var str = ' test12-23. test12-33-99. '; 
 
var regex = /(.)(\d+)(?=(.))/g, m; 
 

 
while (m = regex.exec(str)) { 
 
    console.log(m[2] + ' => ' + m[1] + ' , ' + m[3]) 
 
}

+0

12 => t、 - ** 23 => - ,. ** 12 => t、 - ** 33 => - 、 - ** 99 => - 。 コードがそれを生成していません。その奇妙なその出力を示す何か。 – rahulsm

+0

@VforVendetta:updated –

+1

ありがとうございます。あなたは私の問題を解決しました。 :) – rahulsm

関連する問題