繁体   English   中英

获取前 N 个单词的子串

[英]Get substring with first N words

我有基于 unicode 的文本,我需要获取前 N 个(假设为 500-1000-1500)个单词的符号数

我需要保留所有符号(所以如果字符串在哪里

"ab"

结果应该是 5)

我的想法是使用一些正则表达式匹配前 N 个单词,然后获取匹配结果的长度(符号数)。

也许像

text.match(/([^\s]+\s+){500}/)

但是当涉及到标点符号时它很糟糕

事实上,我提出了这个想法。 大家怎么看?

text.match(/(\w+\s*[^\s\w]*\s+){5}/)

这种事情对你有用吗?

const words = text.split(' ').slice(0, 500)
const symbolCount = words.reduce((acc, curr) => acc + curr.length + 1, -1)

在空格处拆分文本,然后循环遍历并累积字符数。

尝试使其在运行匹配时字符串只有单词

text
  .replace(/[^a-z0-9 ]/gi,'')
  .match(/([^\s]+\s+){500}/)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM