gpt4 book ai didi

javascript - 如何在 JavaScript 中获取找到的字符串的周围文本?

转载 作者:行者123 更新时间:2023-11-30 13:19:15 26 4
gpt4 key购买 nike

这是一个菜鸟问题

假设我在字符串 S 中搜索模式 P。现在我想显示围绕 P 的字符串的子字符串。子字符串应该只有一行(即 N 个字符)并且包含整个 个单词。您将如何使用 JavaScript 对其进行编码?

例如:
S = "Hello world, welcome to the universe", P = "welcome", and N = 15. 天真的解决方案给出了“ld,欢迎来到"(在P前后添加4个字符)。我想将它“四舍五入”为“世界,欢迎来到”。

正则表达式可以帮到我吗?

最佳答案

这是你想要的正则表达式:

/\s?([^\s]+\swelcome\s[^\s]+)\s?/i    //very simple, no a strange bunch of [] and {}

解释:

你要匹配的其实是

 " world, welcome to "

前后没有空格,因此:

\s?       //the first space (if found)
( //define the string position you want
[^\s]+ //any text (first word before "welcome", no space)
\s //a space
welcome //you word
\s //a space
[^\s]+ //the next world (no space inside)
) //that's it, I don't want the last space
\s? //the space at the end (if found)

正在申请:

function find_it(p){
var s = "Hello world, welcome to the universe",
reg = new RegExp("\\s?([^\\s]+\\s" + p + "\\s[^\\s]+)\\s?", "i");

return s.match(reg) && s.match(reg)[1];
}

find_it("welcome"); //"world, welcome to"

find_it("world,"); //"Hello world, welcome"

find_it("universe"); //null (because there is no word after "universe")

关于javascript - 如何在 JavaScript 中获取找到的字符串的周围文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10872496/

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