如何在javascript的split函数中传递多个分隔符
我正在练习javascript问题。我想如何在javascript的split函数中传递多个分隔符,javascript,jquery,Javascript,Jquery,我正在练习javascript问题。我想拆分一个包含-,的字符串。如何通过split函数中的所有三个I如果我像这样使用str.split('-')但其他测试用例失败,我的第一个测试用例通过了? 是否有更好的解决方案可以通过所有测试用例 function sentensify(str) { //console.log(str.split(/\s*(?:-;|$)\s*/).join(' ')) return str.split('-').join(' ') } 您可以为此使用正则表达式
拆分一个包含-,
的字符串。如何通过split函数中的所有三个
I如果我像这样使用str.split('-')
但其他测试用例失败,我的第一个测试用例通过了?
是否有更好的解决方案可以通过所有测试用例
function sentensify(str) {
//console.log(str.split(/\s*(?:-;|$)\s*/).join(' '))
return str.split('-').join(' ')
}
您可以为此使用正则表达式来匹配所有三个。但是如果您只是想加入
数组,那么用一个空格来替换它们可能更有意义
拆分()
var str=“而不是使用拆分、和、连接。为什么。不只是使用替换?”
var sep=/[-,.]/g;
console.log(str.split(sep.join)(“”))代码>这适用于匹配任何-代码>。特殊正则表达式字符应使用反斜杠转义
function sentensify(str) {
return str.split(/[\.,\-]/).join(" ")
}
您可以使用正则表达式指定要拆分字符串的所有字符,如/[-,]/
方括号内的多个字符表示搜索给定字符中的任何字符
函数sentensify(str){
返回str.split(/[-,]/).join(“”);
}
console.log(sentensify(“愿原力与你同在”);
log(sentensify(“The.force.is.strong.with.this.one”);
log(sentensify(“那里,曾经,曾经,一个,觉醒”)代码>Regex可用于多模式匹配;但是,如果您正在查找令牌,然后加入一个空间,您可能需要考虑使用<代码>替换()/<代码>方法。
为了方便起见,我在测试套件中放置了一个示例:
函数sentensify(str){
返回str.replace(/[-,]/g',)
}
摩卡咖啡设置(“bdd”)
描述('sentensify',函数(){
让期望值='这是一个测试'
它('将字符串从连字符转换为空格',函数(){
期望(sentensify(‘This-is-a-test’)等于(期望);
});
它('将字符串从句点转换为空格',函数(){
期望(sentensify('This.is.a.test'))等于(期望);
});
它('将字符串从逗号转换为空格',函数(){
expect(sentensify('This,is,a,test'))等于(expect);
});
它('将连字符、逗号和字符串转换为空格',函数(){
期望(sentensify('This-is,a.test'))等于(期望);
});
});
mocha.run()
正则表达式。。。。
function sentensify(str) {
return str.split(/[\.,\-]/).join(" ")
}