gpt4 book ai didi

javascript - 在javascript中的某个位置找到单词

转载 作者:数据小太阳 更新时间:2023-10-29 04:56:10 26 4
gpt4 key购买 nike

对于'this is a sentence'的字符串输入,当position为6或7时,必须返回'is'。当position为0、1、2、3或4时,结果必须为'this'。

什么是最简单的方法?

最佳答案

function getWordAt (str, pos) {

// Perform type conversions.
str = String(str);
pos = Number(pos) >>> 0;

// Search for the word's beginning and end.
var left = str.slice(0, pos + 1).search(/\S+$/),
right = str.slice(pos).search(/\s/);

// The last word in the string is a special case.
if (right < 0) {
return str.slice(left);
}

// Return the word, using the located bounds to extract it from the string.
return str.slice(left, right + pos);

}

此函数接受任何空白字符作为单词分隔符,包括空格、制表符和换行符。本质上,它看起来:

  • 为单词的开头,匹配/\S+$/
  • 刚好超过单词的末尾,使用 /\s/

如所写,该函数将返回 ""如果给出了空白字符的索引;空格不是单词本身的一部分。如果您希望函数改为返回前面的单词,请更改 /\S+$//\S+\s*/ .


这是 "This is a sentence." 的一些示例输出

0: This
1: This
2: This
3: This
4:
5: is
6: is
7:
8: a
9:
10: sentence.
// ...
18: sentence.

修改为返回前面的词,输出变为:

0: This
1: This
2: This
3: This
4: This
5: is
6: is
7: is
8: a
9: a
10: sentence.
// ...
18: sentence.

关于javascript - 在javascript中的某个位置找到单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5173316/

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