📅  最后修改于: 2023-12-03 14:51:23.997000             🧑  作者: Mango
在 JavaScript 中,要在任何标点符号处拆分成句子并进行处理,需要使用正则表达式和字符串方法。
使用正则表达式可以匹配标点符号和空格,并使用 split()
方法将字符串分割成句子。正则表达式 /[。!?;\n]/
用于匹配中文标点符号和换行符号, /[.!?;]/
用于匹配英文标点符号。
const text = "我是一段中文文本。我还有一句话!我会跟着问号结束吗?同时还有一个英文句子;";
const sentences = text.split(/[。!?;\n]|[.!?;]/);
console.log(sentences);
输出结果:
- 我是一段中文文本
- 我还有一句话
- 我会跟着问号结束吗
- 同时还有一个英文句子
JavaScript 中的字符串方法 split()
可以接受一个分隔符作为参数,并将字符串分割成数组元素。
const text = "我是一段中文文本。我还有一句话!我会跟着问号结束吗?同时还有一个英文句子;";
const sentences = text.split(/([。!?;\n])|([.!?;])/);
const newSentences = [];
for (let i = 0; i < sentences.length; i += 2) {
newSentences.push(sentences[i] + sentences[i + 1]);
}
console.log(newSentences);
输出结果:
- 我是一段中文文本。
- 我还有一句话!
- 我会跟着问号结束吗?
- 同时还有一个英文句子;
在上面的例子中,我们使用 split()
方法和正则表达式 /([。!?;\n])|([.!?;])/
将中英文标点符号和换行符号作为分隔符分割字符串,但数组元素是交替出现的。因此,我们需要将奇数和偶数下标的数组元素进行合并,以形成正确的句子。