2017-03-06 11 views
-1

特定のマーカーを保持する文字列を持ち、各マーカーが特定の値(あらかじめ未知) chars。私はマーカーと次の2つの文字を取り除きたい。文字列中のすべての文字と次の2文字をそれぞれの出現後に削除する最良の方法(正規表現?)

var string = "123 t16 456 t26 789 t8 321"; 

マーカーが「T」であり、それぞれ、この場合16、26および8で、その値を表す2つ、または1つの文字が続いているので、私は削除する必要がある:

例えば、文字列でありますt16、t26、t8(t8 +空白)。私は常にマーカーの後に2つの文字を削除します。

私は部分文字列またはスライスを使ってどのように行うのか理解しています - ループを開始して各マーカーの位置を取得し、マーカーの位置に基づいてマーカーと次の2つの文字を削除し、その値は削除されます。

スピードと1行の解決策の点で、正規表現で行うより良い方法はありますか?

+1

でそれを参照してください: 's.replace(/ '。{2}/g、 '')' –

+0

削除したいものにマッチする正規表現を書いて、それを空の文字列で 'String #replace'を実行します。 –

+0

@torazaburoいくつかの小さな文法を修正する前でも、目的の出力はどうあるべきかという疑問からかなり明らかです。 –

答えて

2
string = string.replace(/t../g, ''); 

あなたはそれが大文字と小文字を区別しない場合:

string = string.replace(/t../gi, ''); 
1

をこれが何をすべき:

s.replace(/t.{1,2}\s/g, '') 

これを試してみてくださいアクションhere

関連する問題