如何解决如何删除点前的空格?
function correctSentences(str){
s = str.replace(/([A-Z])/g,'. $1').trim();
return s;
}
correctSentences(" avi loves pizza Dani loves cola ");
输出为:
"avi loves pizza . Dani loves cola"
如何去掉点前的空格? 谢谢!
解决方法
在正则表达式中添加 \s
function correctSentences(str){
s = str.replace(/(\s[A-Z])/g,'.$1').trim();
return s;
}
console.log(correctSentences(" avi loves pizza Dani loves cola "));
我会使用这个版本:
function correctSentences(str) {
return str.replace(/\s+(?=[A-Z])/g,'. ').trim();
}
var input = " avi loves pizza Dani loves cola ";
var output = correctSentences(input);
console.log(input + "\n" + output);
这里的正则表达式逻辑表示:
\s+ match one or more whitespace characters
(?=[A-Z]) then assert (but do not consume) that what follows is a capital letter
我们用点代替,结束上一句,后跟两个空格,与下一句开头分开。
,我提议:
function correctSentences(str){
return str.replace(/(?=\b\s+[A-Z])/g,'.').trim();
}
const result = correctSentences(" avi loves pizza. Bob loves pizza Dani loves cola ");
console.log(result);
如果已经存在 .
,它还会阻止添加额外的 .
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。