如何将大字符串分成单个句子数组

时间:2019-06-26 14:01:59

标签: javascript algorithm

我有一个字符串,一串句子之间用句点分隔。例如:

const test = 'Dolore nostrud enim ea fugiat amet cupidatat enim. Fugiat qui tempor adipisicing velit et officia aliqua aliqua culpa ad veniam fugiat. Velit voluptate pariatur minim labore occaecat qui velit nostrud non deserunt non est voluptate. Quis est veniam sint nisi do.'

我希望得到的结果是能够将本段的每个句子变成要点。我不关心要创建要点,我只需要将此段分解为字符串数组即可。

我假设我需要编写一种算法,该算法用定界符将每个句子拆分(不必以句点分隔,但在此示例中使用了一个)并将其推入新数组。我对正则表达式的使用不太好,因此不胜感激。

1 个答案:

答案 0 :(得分:3)

使用split,我们可以将字符串转换成数组,其中数组中的每个元素都是一个句子。假定句子由.!?;分隔。

然后,可以对数组进行过滤以删除为空字符串的元素(例如,如果初始字符串的最后一个字符是句子定界符,则数组的最后一个元素将为空)。过滤后,可以将数组映射到HTML并插入到<ul>元素中。

const test = 'Dolore nostrud enim ea fugiat amet cupidatat enim. Fugiat qui tempor adipisicing velit et officia aliqua aliqua culpa ad veniam fugiat. Velit voluptate pariatur minim labore occaecat qui velit nostrud non deserunt non est voluptate. Quis est veniam sint nisi do.'


document.querySelector('ul').innerHTML = test.split(/[\.?!;]/).filter(sentence => sentence).map(sentence => `<li>${sentence}</li>`).join('')
<ul />