我有一个包含以下内容的字符串:
a test here as well .... Test: 1- (link) 2- (link)
我想搜索Test
,然后得到它后面的内容。
我尝试了string.includes("Test")
,但它只返回true或false
答案 0 :(得分:5)
您可以匹配所需的单词,然后输入所有字符。
var string = 'a test here as well .... Test: 1- (link) 2- (link)',
part = string.match(/Test(.*$)/)[1];
console.log(part);
如果字符串可能不匹配,则可以为null
值添加默认数组,并获取undefied
而不是不匹配的部分。
var string = 'a test here as well .... Test: 1- (link) 2- (link)',
part = (string.match(/TestX(.*$)/) || [])[1];
console.log(part);
答案 1 :(得分:1)
一种简单的方法是在所需文本上split()
上的字符串,结果[1]将是分割字符串之后的文本。
所以...
var s = 'a test here as well .... Test: 1- (link) 2- (link)';
var splitText = 'Test'
var result = s.split(splitText)[1];
希望有帮助。
答案 2 :(得分:1)
您可以在正则表达式中使用捕获组来捕获匹配模式(您的字符串)之后的所有内容。在下面的测试中,如果找到了该值,则将其存储在$1
对象的RegExp
中。
const str = 'a test here as well .... Test: 1- (link) 2- (link)'
if ( /Test(.*)$/.test(str) )
console.log(RegExp.$1)
这是实现以上功能的另一种方法:
const text = 'a test here as well .... Test: 1- (link) 2- (link)'
console.log( trailing(text, 'Test') )
function trailing(str, pattern){
const re = new RegExp(`${pattern}(.*)$`)
if ( re.test(str) )
return RegExp.$1.toString()
return '' // false and default condition
}
答案 3 :(得分:0)
您可以获取单词的索引,然后获取子字符串。
let str = 'a test here as well .... Test: 1- (link) 2- (link)',
word = 'Test',
substring = '';
if(str.indexOf(word) > -1) {
substring = str.substr(str.indexOf(word) + word.length);
}
console.log(substring);
答案 4 :(得分:0)
我相信lastIndexOf
和substr
很适合您的情况:
let text = 'a test here as well .... Test: 1- (link) 2- (link)'
let position = text.lastIndexOf('Test: ')
let result = position > -1 ? text.substr(position + 6) : ''
console.log(result)
答案 5 :(得分:0)