我需要像这样转换一个字符串:
tag, tag2, longer tag, tag3
为:
tag, tag2, longer-tag, tag3
为了简短起见,我需要用逗号替换不带逗号的空格,我需要在Javascript中执行此操作。
答案 0 :(得分:5)
我认为这应该有用
var re = new RegExp("([^,\s])\s+" "g");
var result = tagString.replace(re, "$1-");
编辑:在Blixt观察之后更新。
答案 1 :(得分:3)
mystring.replace(/([^,])\s+/i "$1-");
有更好的方法,但我永远记不住语法
答案 2 :(得分:1)
[^,]
=不是逗号
编辑抱歉,之前没有注意到替换。我现在更新了我的答案:
var exp = new RegExp("([^,]) ");
tags = tags.replace(exp, "$1-");
答案 3 :(得分:0)
text.replace(/([^,]) /, '$1-');
答案 4 :(得分:0)
不幸的是,Javascript似乎不支持负面的lookbehinds,所以你必须使用这样的东西(从here修改):
var output = 'tag, tag2, longer tag, tag3'.replace(/(,)?t/g, function($0, $1){
return $1 ? $0 : '-';
});
答案 5 :(得分:0)
([^,]) - 第一个字符不是逗号,第二个字符是空格,它搜索那种字符串
答案 6 :(得分:-2)
([a-zA-Z] ){1,}
也许?没有测试过。类似的东西。