javascript - 如何合并后面没有空格的点(.)? [正则表达式]

标签 javascript regex regex-negation regex-lookarounds regex-group

这是我的代码[^\.!\?]+[!\?\.]

我想将帖子中的每个句子完美分开。我正在使用 JavaScript 正则表达式。问题是当点(.)位于没有空格的字符之间时,因此当它们应该合并时它们被分开。

例如: “Apa yang terjadi?Aku terkena musibah!Uang saya 90.000 dicuri maling。

Uang saya 90.

000 dicuri maling.

应该合并到

Uang saya 90.000 dicuri maling.

见下面附图

Regular Expression Tester

最佳答案

尝试 ([.!?])\s 创建如下数组:

let str =  "Apa yang terjadi? Test test test. Aku terkena musibah! Uang saya 90.000 dicuri maling."
str = str.split(/([.!?])\s/g);
let res = [];
for(let i=0; i <= str.length; i=i+2){
  let x = str.length-1 > i? str[i+1] : '';
  let newstr = str[i] + x;
  res.push(newstr);
}
console.log(res);

关于javascript - 如何合并后面没有空格的点(.)? [正则表达式],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47542965/

相关文章:

javascript - 单击时显示/隐藏 div

javascript - 计算前导空间和

regex - Perl:删除除特定字符之外的所有非 ASCII 字符

javascript - Ajax 和 Django 表单

javascript - while(i--) 在 javascript 中是什么意思?

c++ - Regexec() 没有给出期望的结果

regex - 正则表达式排除不起作用的字符

c# - 正则表达式匹配后如何选择n个字符

javascript - jQuery 中多个字段的多重计算

regex - NginX Grok 模式 - 处理反斜杠或括号?