2016-05-24 7 views
0

私はStringのようなものをvar someString = 'Some foo email string {{Email18}} bla bla'としています。サブストリングを検索して置換する

サブストリング{{Email18}}を検索して置換する必要がありますが、数字または数字の部分がわかりません。私はsomeString.replace("{{Email*}}", "Foo")のようなものになり、結果の文字列は'Some foo email string Foo bla bla'のようになります。

どうすればいいですか?

答えて

1

少なくとも一つの数字がストリングの末端に存在する場合だけで\d文字クラスを使用します。

var someString = 'Some foo email string {{Email18}} bla bla', 
    replaced = someString.replace(/{{Email\d{1,}}}/, "Foo"); 

console.log(replaced); // "Some foo email string Foo bla bla" 
+0

'{{Email18}}'を与えるsomeString.search(/ {{Email \ d {1、}}} /) 'のような部分文字列をどのように得ることができますか? –

+0

@NitinAggarwal、 'match'メソッドを使います:' var subStr = someString.match(/ {{Email \ d {1、}}} /); console.log(subStr [0]); // "{{Email18}}" – RomanPerekhrest

1

あなたは交換するために、正規表現の一致を使用することができます。

カッコ(オペレーター)を脱出して1桁以上( \d+)のための発現を有する
someString.replace(/\{\{Email\d+\}\}/, "Foo") 

+0

は正規表現が正しい、あなたは確かにいますか?それは私のコードで動作していません。 –