gpt4 book ai didi

javascript - 通过光标/插入符号位置获取当前句子

转载 作者:行者123 更新时间:2023-11-29 21:41:17 26 4
gpt4 key购买 nike

我有一个包含多个句子的字符串。我还有当前的光标/插入符号位置。

我需要能够在给定的光标位置提取当前句子。

例如,取这个字符串:

这是第一句。这是第二个!最后就是第三句了

如果当前光标位置是33 那么光标在第二个句子中。

在这种情况下,返回的结果应该是:

这是第二个!

我只需要使用 .?! 的标准句子定义器

如有任何帮助,我们将不胜感激。

虽然我预计需要正则表达式,但如果有使用 native 方法的更快替代方案,我也会对此感兴趣。

最佳答案

这里有一种方法可以实现你所需要的:使用 String#split/[?!.]/g 来获取句子数组,然后迭代将找到的句子的长度加起来的数组,如果索引小于计数,则返回句子。

function getSentenceByPos(idx, str) {
pos = 0;
array = str.split(/[?!.]/g);
for (var i=0; i<array.length; i++) {
pos += array[i].length + 1;
if (pos >= idx) {
return array[i];
}
}
}// 26 still 1 then `.`. 51 then `!` - 53 is 3rd sentence!
document.write(getSentenceByPos(53, "This is the first sentence. And this is the second! Finally, this is the third sentence"));

关于javascript - 通过光标/插入符号位置获取当前句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32820857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com