在Javascript中查找x和y字符串之间的文本

9 浏览
0 Comments

在Javascript中查找x和y字符串之间的文本

我有一个节点脚本,用于读取另一个js文件,并且我想获取该js文件中特定变量的值。我可以想象,解决我的问题有更好的方法,但我想要一个函数,以后可以在例如Web应用中再次使用。

我需要一个函数,返回在X字符串和Y字符串之间的字符串。例如:

const string2searchin = "<具有未知长度的随机文本> /start/ 我想被选中 /end/ <具有未知长度的随机文本>"

如何获取在"start"和"end"之间的字符串?

它所在的随机文本的长度是不知道的。

我尝试过这个:

var getText = (string, start, end) => {
    let arr = string.split("");
    let listen = false;
    let output = [];
    for(let el of arr){
        if(el == end && listen) return output.toString();
        if(listen) output.push(el);
        if(el == start && !listen) listen = true;
    }
} 

它可以正常工作,但只适用于单个字符。我想要一个长度大于1的字符串作为起始和结束。

0
0 Comments

在Javascript中,有时候我们需要在一个字符串中找到两个特定字符串之间的文本。这可能是为了提取特定的信息或者进行其他操作。然而,Javascript本身并没有提供直接的方法来实现这个目标。因此,我们需要找到一种解决方案来解决这个问题。

一种常见的解决方法是使用正则表达式。正则表达式是一种强大的模式匹配工具,可以用来在字符串中查找特定的模式。在这种情况下,我们可以使用正则表达式来查找两个特定字符串之间的文本。

以下是一个示例代码,展示了如何使用正则表达式来查找两个特定字符串之间的文本:

const regex = /start(.*)end/gm;
const str = ` start i want to be selected end `;
let m;
while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    // This result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}

在这个例子中,我们定义了一个正则表达式`/start(.*)end/gm`,其中`start`和`end`是我们要查找的特定字符串。`(.*)`表示任意字符的匹配,并且使用`g`和`m`标志来进行全局和多行匹配。

然后,我们使用`regex.exec()`方法在字符串`str`中进行匹配。这个方法会返回一个数组,其中包含了所有匹配到的结果。我们可以使用`forEach()`方法来遍历这个数组,并访问每个匹配到的文本。

通过这种方法,我们可以很方便地找到两个特定字符串之间的文本,并进行进一步的处理。这种解决方案非常灵活和实用,可以适用于很多不同的场景。

总结起来,通过使用正则表达式,我们可以在Javascript中找到两个特定字符串之间的文本。这种解决方案简单而实用,可以帮助我们提取所需的信息或进行其他操作。

0
0 Comments

在JavaScript中,有时候我们需要从一个字符串中提取位于特定两个字符串之间的内容。例如,在给定的字符串中,我们想要提取位于"start"和"end"之间的内容。

这个问题的出现是因为JavaScript没有提供直接从字符串中提取两个字符串之间内容的内置函数。因此,我们需要使用一些方法来解决这个问题。

解决方法是使用indexOf()和lastIndexOf()函数来获取两个字符串的起始和结束位置,然后使用substring()函数来提取两个位置之间的内容。

首先,我们定义两个变量x和y,分别表示要查找的起始字符串和结束字符串。然后,我们定义一个字符串变量str,其中包含需要进行提取的完整字符串。

接下来,我们使用indexOf()函数来获取起始字符串x在str中的位置,并使用x.length来获取x字符串的长度。然后,我们使用lastIndexOf()函数来获取结束字符串y在str中的位置。

最后,我们使用substring()函数来提取位于起始位置和结束位置之间的内容,并将结果打印到控制台上。

以上就是解决这个问题的方法,通过使用indexOf()和lastIndexOf()函数来获取两个字符串的位置,然后使用substring()函数来提取两个位置之间的内容。这样,我们就可以实现从给定字符串中提取两个字符串之间的内容。

0
0 Comments

原因:问题的提问者想要通过字符串来获取文本,而不是通过索引(数字)来获取文本。他尝试使用.substring()方法,但发现这不是他所需要的解决办法。

解决方法:有人建议使用自定义函数来实现这个功能。这个函数接受两个参数,即截取文本的起始点和结束点。还有人建议先使用.split(' ')方法将字符串拆分成单词数组,然后在数组中查找起始点和结束点,并返回两个点之间的文本。然而,问题的提问者指出,如果文本中包含了起始点和结束点中的字符,这种方法可能会出现问题。

问题的出现原因是提问者想要通过字符串来获取文本,但尝试使用.substring()方法后发现不够满足需求。解决方法中提到了使用自定义函数或拆分字符串成单词数组来查找起始点和结束点,并返回两点之间的文本。然而,这些方法可能会出现问题,因为起始点和结束点中的字符可能会与文本中的其他部分冲突。

0