2017-07-04 78 views
1

想要从字符串“申请2项保险”后得到第一个单词。获取匹配词后的下一个单词在Javascript中

var Number = 2; 
var text = "Apply for 2 insurances or more"; 

在这种情况下,我想找到Number后的字符串,所以我的预期结果为:“保险”

+0

更好的将是打破串入阵然后匹配,一旦匹配(假设数组[i]),然后获得数组[i + 1] – noobcode

回答

1

呦ü可以简单地使用正则表达式号之后拿到的第一个字,就像这样......

var number = 2; 
 
var text = "Apply for 2 insurances test"; 
 
var result = text.match(new RegExp(number + '\\s(\\w+)'))[1]; 
 

 
console.log(result);

+1

谢谢。它的作用就像魅力 –

+0

如果短划线( - )被认为是单词的一部分,这似乎不起作用。 – Mabz

1

findIndex一个解决方案,该号码后得到只有两个字:

var number = 2; 
 
var text = "Apply for 2 insurances or more"; 
 
var words = text.split(' '); 
 

 
var numberIndex = words.findIndex((word) => word == number); 
 
var nextWord = words[numberIndex + 1]; 
 

 
console.log(nextWord);

+0

@UROY我明白了!看看我更新的答案。增加了一个新的解决方案,在这种情况下:) –

0

var number = 2; 
 
var sentence = "Apply for 2 insurances or more"; 
 

 
var othertext = sentence.substring(sentence.indexOf(number) + 1); 
 
console.log(othertext.split(' ')[1]); 
 

 
//With two split 
 
console.log(sentence.split(number)[1].split(' ')[1]);