📅  最后修改于: 2023-12-03 15:38:04.156000             🧑  作者: Mango
在使用 jQuery 时,我们可以用 text()
方法获取元素的文本内容,再用字符串的 indexOf()
方法找到子字符串的位置。那么如何在两个单词之间找到子字符串呢?
以下是一种实现方式:首先获取元素的文本内容,再用正则表达式匹配两个单词之间的内容,最后用 indexOf()
方法查找子字符串的位置。
let text = $('selector').text();
let word1 = 'word1';
let word2 = 'word2';
let regExp = new RegExp(`${word1}\\s*(.*?)\\s*${word2}`);
let match = text.match(regExp);
if (match) {
let substring = match[1];
let index = text.indexOf(substring);
console.log(`Substring "${substring}" found at index ${index}`);
} else {
console.log(`Substring not found between "${word1}" and "${word2}"`);
}
以上代码将在指定的元素中查找出现在 word1
和 word2
之间的子字符串,并输出该子字符串的位置。如果该子字符串未被找到,则输出一条未找到子字符串的信息。
值得注意的是,由于正则表达式中的 '\\s*'
匹配零个或多个空格,因此以下两种情况都将被认为是在 word1
和 word2
之间:
word1
和 word2
之间没有空格。word1
和 word2
之间有一个或多个空格。因此,如果需要只匹配一个空格,可以将 '\\s*'
改为 '\\s+'
,这样只有一个或多个空格才会被匹配。