Javascript 用连字符替换空格,但不要在逗号周围
我有一种情况,我想用单个Javascript 用连字符替换空格,但不要在逗号周围,javascript,node.js,regex,Javascript,Node.js,Regex,我有一种情况,我想用单个-替换字符串,但问题是 var str = "Beco de Santo António BT, Cascais , Portugal"; // input 输出 Beco-de-Santo-António-BT,-Cascais-,-Portugal // output 但是你可以看到葡萄牙的卡斯凯斯,我得到了葡萄牙的卡斯凯斯 我想要的输出: Beco-de-Santo-António-BT,Cascais,Portugal var str=“Bec
-
替换字符串,但问题是
var str = "Beco de Santo António BT, Cascais , Portugal"; // input
输出
Beco-de-Santo-António-BT,-Cascais-,-Portugal // output
但是你可以看到葡萄牙的卡斯凯斯,我得到了葡萄牙的卡斯凯斯
我想要的输出:
Beco-de-Santo-António-BT,Cascais,Portugal
var str=“Beco de Santo António BT,卡斯凯斯,葡萄牙”;
str2=str.replace(/\s+/g,'-');
警报(str2)代码>试试这个
var str = "Beco de Santo António BT, Cascais , Portugal";
str2 = str.replace(/\s+/g, '-').replace(/,-/g, ',').replace(/-,/g, ',');
alert(str2);
var str=“Beco de Santo António BT,卡斯凯斯,葡萄牙”;
str2=str.replace(/,/g,,);
str2=str2。替换(/\s+/g,“-”);
str2=str2。替换(/,-/g,,');
警报(str2)代码>
试试这个:
var str = "Beco de Santo António BT, Cascais , Portugal";
array = str.split(",");
array = $.map(array, function(value){
return $.trim(value).replace(/\s\s+/g, '-').replace(/ /g, '-');
});
str = array.join(",");
这就是你的工作:
function showInput(){
var str = "Beco de Santo António BT, Cascais , Portugal";
var res = str.split(",");
for (var i=0; i<res.length; i++){
res[i] = res[i].trim();
res[i] = res[i].replace(/\s+/g, '-');
}
var output = res.join();
alert(output);
}
函数showInput(){
var str=“Beco de Santo António BT,卡斯凯斯,葡萄牙”;
var res=str.split(“,”);
对于(var i=0;i
var str=“Beco de Santo António BT,卡斯凯斯,葡萄牙”;
str2=str.replace(/\w\s+\w/g,函数(匹配,索引){return match.replace(/\s+/g,'-'))});
警报(str2);
首先删除,
附近的多余空格,然后将字符串中的空格替换为-
str.replace(/\s*,[,\s]*/g,',') // first remove spaces nearby commas
.replace(/\s+/g,'-'); // then replace them by -
var str=“Beco de Santo António BT,卡斯凯斯,葡萄牙”;
str2=str.replace(/\s*,[,\s]*/g',,')。replace(/\s+/g',-');
console.log(str2);
用于定位单词之间的空白
var str=“Beco de Santo António BT,卡斯凯斯,葡萄牙”;
str2=str.replace(/\b\s+\b/g,'-');
警报(str2);
首先删除逗号周围的所有空格,然后用连字符替换空格。str.replace(/\s*,\s*/g',,')。replace(/\s+//g',-')
不需要jQuery,所以我从代码段中删除了jQuery标记和库。使用singlereplace
:。replace(/\s*,\s*\s+/g,(m)=>m.trim(),“:-”)
str.replace(/\b\s+\b/g,“-”).replace(/\s+/g,”)
是的,这是最简单的一个。很乐意帮忙!我认为这是我列出的“免费jQuery包含”中的第一个;-)