[英]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.