1

これは、コードを使用して少し明確に説明する試みです--

str = 'testfoostringfoo';
var regex = /foo$/;

if (str.match(regex) == true) {
    str.trim(regex);
    return str; //expecting 'testfoostring'
}

jQueryは利用可能ですが、JavaScriptのみを使用してこれを達成する最も簡単な方法を探しています。御時間ありがとうございます。:]



@Kobi- の助けを借りて完全に機能するコード

var str = 'testfoostringfoo';
var regex = /f00$/;

if (str.match(regex)) {
    str = str.replace(regex, '');
    return str; //returns 'testfoostring' when the regex exists in str
}
4

1 に答える 1

2

あなたは単にすべきですreplace

str = 'testfoostringfoo';
var regex = /foo$/;
str = str.replace(regex, '');
return str;

を削除しました。 が見つからない場合ifreplace文字列にregexは影響しません。

matchは一致の配列 ( )を返す['foo']ため、 との比較trueはどちらの方法でも失敗することに注意してください。 の条件if(str.match(regex) == true)は常に false です。または
を探しています。if(str.match(regex))if(regex.test(str))

trimこれは JavaScript ではやや新しく、パラメーターをとらず、空白を削除するだけであることに注意してください。

于 2013-09-03T04:55:02.190 に答える