web-dev-qa-db-ja.com

スペースをダッシュ​​に置き換え、すべての文字を小文字にします

JQueryまたはVanilla JavaScriptを使用して文字列を再フォーマットする必要があります

"Sonic Free Games"があるとします。

"sonic-free-games"に変換したいです。

そのため、空白はダッシュとすべての文字を小文字に変換する必要があります。

これに関する助けてください?

200
M.E

String replace および toLowerCase メソッドを使用するだけです。例:

var str = "Sonic Free Games";
str = str.replace(/\s+/g, '-').toLowerCase();
console.log(str); // "sonic-free-games"

gRegExpフラグに注意してください。文字列内で置換をグローバルに使用します。使用しない場合は、最初の出現のみが置換されます。また、そのRegExpは1つ以上の空白文字と一致します。

453
CMS

上記の答えは少し混乱していると考えることができます。文字列メソッドは変更元のオブジェクトではありません。それらはreturn新しいオブジェクトです。それは違いない:

var str = "Sonic Free Games";
str = str.replace(/\s+/g, '-').toLowerCase(); //new object assigned to var str
27
yurin

splitおよびjoinを使用することもできます。

"Sonic Free Games".split(" ").join("-").toLowerCase(); //sonic-free-games
25
Eesa