この特定の状況で、文字列の最初と最後にあるすべてのスペースをアンダースコアに置き換えたい:
var a = ' ## ## # ';
console.log(myReplace(a)); // prints ___## ## #__
つまり、最初の # の前の文字列の先頭にあるすべてのスペースと、最後の # の後のすべてのスペース、その他すべて (文字列の途中のスペースを含む) は変更されません。
私の最初の考えは、問題の各部分に 1 つずつ、2 つの Reg Exp を使用することでした。
ただし、最初のものを取得できませんでした。JS 正規表現を使用してやりたいことを実行できるかどうかさえわかりません。
str.replace(/^\ /g, '_'); // replaces only the first space
str.replace(/^\ +/, '_') // replaces all the correct spaces with only one underscore
ありがとう!