更换由连字符空格,但是周围没有逗号
问题描述:
我有,我想,以取代单一-
一个string
我能做到这一点的情况,但问题是更换由连字符空格,但是周围没有逗号
var str = "Beco de Santo António BT, Cascais , Portugal"; // input
输出
Beco-de-Santo-António-BT,-Cascais-,-Portugal // output
但是你可以看到, Cascais , Portugal
我在找==>,-Cascais-,-Portugal
我想要的输出:
Beco-de-Santo-António-BT,Cascais,Portugal
var str = "Beco de Santo António BT, Cascais , Portugal";
str2 = str.replace(/\s+/g, '-');
alert(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, Cascais , Portugal";
str2 = str.replace(/ , /g, ', ');
str2 = str2.replace(/\s+/g, '-');
str2 = str2.replace(/,-/g, ',');
alert(str2);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答
试试这个:
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);
}
什么我做的是我现在用的是逗号分割字符串,将它们放入一个数组,然后通过数组迭代。 在每次迭代中,我去除前导和尾部空格,那么在与所述连字符来替换替换之间的剩余空白字符(全部完成就地),然后在最后,用逗号一起连接它们。
答
var str = "Beco de Santo António BT, Cascais , Portugal";
str2 = str.replace(/\w\s+\w/g, function(match, index){ return match.replace(/\s+/g, '-') });
alert(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, Cascais , Portugal";
str2 = str.replace(/\s*,[,\s]*/g,',').replace(/\s+/g,'-');
console.log(str2);
答
替换字符串内的空间
使用word boundaries来定位单词之间的空格。
var str = "Beco de Santo António BT, Cascais , Portugal";
str2 = str.replace(/\b\s+\b/g, '-');
alert(str2);
首先删除逗号周围的所有空格,然后由连字符代替空格。 'str.replace(/ \ S *,\ S * /克, '')代替(/ \ S + /克, ' - ')'不需要 – Tushar
jQuery的,所以我移除了相应的jQuery标签和库从片段。 – Tushar
随着单'replace':'.replace(/ \ S *,\ S * | \ S + /克,(M)=> m.trim() '': ' - '?)'' – Tushar