すべての「_」をスペースに置き換え、「#」を何もない/空に置き換える必要があります。
var string = '#Please send_an_information_pack_to_the_following_address:';
私はこれを試しました:
string.replace('#','').replace('_', ' ');
このようにコマンドを連鎖させるのは好きではありません。 1 つで実行する別の方法はありますか?
ベストアンサー1
OR演算子(|
)を使用します。
var str = '#this #is__ __#a test###__';
console.log(
str.replace(/#|_/g, '') // "this is a test"
)
文字クラスを使用することもできます:
str.replace(/[#_]/g,'');
フィドル
ハッシュを1つに置き換え、アンダースコアを別のものに置き換えたい場合は、次のように連鎖させるだけです。
function allReplace(str, obj) {
for (const x in obj) {
str = str.replace(new RegExp(x, 'g'), obj[x]);
}
return str;
};
console.log(
allReplace( 'abcd-abcd', { 'a': 'h', 'b': 'o' } ) // 'hocd-hocd'
);
しかし、なぜチェーンしないのでしょうか? 何も悪いことはないと思います。