所有我尝试并发现,将删除所有空格。但这不是我想要的
我的字符串是
var str = "24 july 2014 12 5";
我想要
"24july2014 12 5"
我找到了这个代码示例
var str = "Paul m'a dit « Bonjour ! »";
str = str.replace(/\s([!:\?…;»])/g, function (el1, el2) {
return ' ' + el2;
}).replace(/(«)\s/g, function (el1, el2) {
return el2 + ' ';
});
console.log(str);
但它不能改变我的问题。也许我太棒了noob?
答案 0 :(得分:2)
你可以这样做。
var str = "24 july 2014 12 5";
str = str.replace(/ (?=[a-z])/g, "").replace(/([a-z]) /g, "$1");
console.log(str);

JS不支持lookbehinds,因此一种解决方法是使用捕获组和回声。另一个替代是由前瞻支持。
OP,根据您的评论,您似乎也希望解码URL参数。这是正确的方法:
string = "alabama%20justin";
console.log(decodeURIComponent(string));

答案 1 :(得分:0)
可能是一种更奇特的方式,但只需检查它是否是一个后跟alpha或alpha后跟空格的空格
"12 july 2014 12 5".replace(/\s+([a-z])|([a-z])\s+/ig,'$1$2')
或
"12 july 2014 12 5".replace(/\s+([\D])|([\D])\s+/ig,'$1$2')