这个简单的正则表达式让我很困扰。你能伸出援手吗?
我怎样才能在 javascriptFoo's Bar
中返回?foos-bar
var str = "Foo's Bar";
str.replace(/\s+/g, '-').replace('/[^a-zA-Z-]/g', '').toLowerCase();
return str;
我能做的最好的就是foo's-bar
,离开'
。
谢谢。
这个简单的正则表达式让我很困扰。你能伸出援手吗?
我怎样才能在 javascriptFoo's Bar
中返回?foos-bar
var str = "Foo's Bar";
str.replace(/\s+/g, '-').replace('/[^a-zA-Z-]/g', '').toLowerCase();
return str;
我能做的最好的就是foo's-bar
,离开'
。
谢谢。
Esailija 是正确的 - 您的正则表达式是正确的,但第二个正则表达式被解释为字符串,因为它被包裹在引号中。修复后,您的代码可以完美运行:
str.replace(/\s+/g, '-').replace(/[^a-zA-Z-]/g, '').toLowerCase();
您可以尝试颠倒顺序并通常避免使用单词和空格字符
str.replace(/[^\w\s]+/g,'').replace(/\s+/g,"-").toLowerCase()
您的代码中有两个问题:
replace
)str
str = str.replace(/\s+/g, '-').replace(/[^a-zA-Z-]/g, '').toLowerCase();