2017-03-21 7 views

答えて

1

"1080 Center - (previously)".toLowerCase().replace(/[^a-z0-9\-_]+/g, "-").replace(/-{2,}/, "-").replace(/^-|-$/, ''); 

しかし、それはより多くの例で入力することなく、一般的な解決策を考え出すのは難しいこれを試してみてください

これは言いますが、あなたはおそらくもっと簡単な時間を持つでしょう。あなたが達成したいことを正確に指定してください。たとえば、最初はルールが "ダッシュ以外のすべての文字を置換する"ように見えますが、Center - (previously)center----previously-になります。これはあなたが望むものではありません。一方、空白を取り除くだけでは、1080Centerの分離が失われることはありません。

0

にあなたは正規表現を使用して-持つ任意の非単語の文字を置き換えることができ、これを達成するために。これはあなたの単一の例を解決します(臆面もなくRails' parameterize methodから盗まれた正規表現の

var input = '1080 Center - (previously) Old/New'; 
 
var output = input.replace(/\W+/g, '-').toLowerCase(); 
 

 
console.log(output);

+0

私は '1080センター - (以前)'を試してみると '1080-center-previous-' np tho – Shin

関連する問題