如何创建一个函数来获取特定字符串的前后7个单词?

neo33

您好,我想制作一个javascript函数,将数学运算前后的7个单词返回给特定的关键字

我尝试如下:

function myFunction(text) {

    b=text.match("(?:[a-zA-Z'-]+[^a-zA-Z'-]+){0,7}"+text+"(?:[^a-zA-Z'-]+[a-zA-Z'-]+){0,7}");

    return b; 

但是,当我搜索文本“创建”时,我得到了:

create

我想要的输出将是:

the Community, and view patterns you create or favorite in My Patterns. Explore results

我的完整代码如下所示,带有对应的名为Text的字符串,因此,我要感谢支持克服此任务的支持。

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>
<script>


var Text='RegExr was created by gskinner.com, and is proudly hosted by Media Temple. Edit the Expression & Text to see matches. Roll over matches or the expression for details. PCRE & Javascript flavors of RegEx are supported. The side bar includes a Cheatsheet, full Reference, and Help. You can also Save & Share with the Community, and view patterns you create or favorite in My Patterns. Explore results with the Tools below. Replace & List output custom results. Details lists capture groups. Explain describes your expression in plain English.'
function myFunction(text) {

    b=text.match("(?:[a-zA-Z'-]+[^a-zA-Z'-]+){0,7}"+text+"(?:[^a-zA-Z'-]+[a-zA-Z'-]+){0,7}");

    return b; 
}
document.getElementById("demo").innerHTML = myFunction("create");
</script>

</body>
</html>
艾略特B.

对于这种类型的任务,正则表达式不是一个很好的工具。我建议您使用split将您的句子分解成单词数组,然后indexOf找到匹配的单词并打印相邻的单词。

这是一个工作示例:

let sentence = "blah blah blah the Community, and view patterns you create or favorite in My Patterns. Explore results blah blah blah";
let words = sentence.split(" ");
let index = words.indexOf("create");
let result = [];

if (index > -1) {     
    for (i=index-7; i < (index+8); i++) {
        result.push(words[i]);
    }
}
    
console.log(result.join(" "));

这就是要点,但是您需要修改我的代码示例以考虑边缘情况(即,多个匹配单词,在匹配单词之前/之后少于7个单词)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

创建一个函数来从数据集列中的字符串中获取子字符串

如何创建一个函数来提取向量内字符串中的字段?

如何创建一个函数来查找字符串中的重复项?

我如何调用另一个函数来获取字符串数据

Python - 每两个单词应用一个函数来分隔列中的字符串

如何创建一个函数来选择特定的数组?

在Pandas中,如何分配一个函数来处理列上的字符串?

我如何获得一个函数来返回类似字符串的Vec?

如何获得一个python函数来返回对象而不是字符串

创建一个计算特定长度列表中的单词/字符串的函数 - Python 3

我如何编写一个函数来从数组形成一个字符串?

从给定的字符串中获取一个单词

获取字符串的最后一个单词

powershell - 从字符串中获取一个单词

试图创建一个将返回字符串中最长单词的函数

您将如何创建一个函数来使用 python 查找少于 4 个字符的单词的频率?

如何在一个用户定义的函数中创建自己的 String.Split() 和 Array.Reverse() 内置函数来反转给定的字符串?

在android中的一个特定的单词之后获取字符串

我正在尝试创建并调用一个函数来反转字符串并删除小数点前的整数

我如何才能用另一个表达式(字符串)替换字符串中的特定单词,而另一个表达式必须获取特定单词的某些部分

如何编写一个函数来检查 grepl 中非常规字符的字符串?

如何编写一个递归函数来打印字符串一定次数?

如何从字符串每行输出一个单词

我如何从字符串中得到两个特定单词的下一个单词?

如何使用awk打印特定列中字符串的第一个单词

如何在JavaScript中获取单词或字符串的最后一个字母?

斯卡拉(Scala)。如何获取字符串中的最后一个单词

如何使用python获取字符串中的第一个单词

在字符串中找到特定字符后,如何创建一个插入字符的循环?