在使用match()应用正则表达式之后如何删除撇号之后和周期/完全停止之前的恼人空白区域的任何想法? 结果应该是一个字符串,没有"不必要的"空间。 非常感谢。
var text = "There’s no doubt these days.";
var r = text.match(/\w+|[^'\s\w]+/g);
var j = r.join(" ");
console.log(j);
// the result: There ’ s no doubt lives these days .
// should be: There’s no doubt lives these days.
答案 0 :(得分:2)
var text = "There’s no doubt these days.";
var r = text.match(/\w+|[^'\s\w]+/g);
var j = r.join(" ")
.replace(" ’ ", "’")
.replace(" .", ".");
console.log(j);

答案 1 :(得分:0)
我想你想摆脱两个词之间的多个空格,但保留标点符号完好无损?您可以将正则表达式更改为:
var r = text.match(/\S+/g);
或者只需用.replace
替换多个空格var text = "There’s no doubt these days.";
text = text.replace(/\s+/g, " ");
console.log(text);