我想抓住一个人的名字。该名称将输入文本框,例如:
我的名字是罗伯特,或者我的名字是罗伯特等。
我不知道实际名称会在哪里掉落,但是因为介绍单词等。
我在想这样的事情。
namesParts[0]
- 将是“我的”
namesParts[1]
- 将是“名字”
namesParts[2]
- 将是“是”
namesParts[3]
- 将是我正在寻找的名字。
或许类似下面的东西,但这不起作用。
if (input.search("my name is")!= -1) {
var names = input.match(/my name is/);
var namesParts = names.split(' ');
var one = namesParts[3];
document.result.result.value = "Ok your name is "+one+".";
return true;
}
答案 0 :(得分:1)
如果所有其他单词都以小写字母开头,您可以使用
'my name is Robert'.match(/[A-Z]+\w*/);
,否则
'My name is Robert'.match(/my name is (\S+)/i);
答案 1 :(得分:0)
Check JavaScript String.split
方法。
示例:
var str="my name is Robert";
var n=str.split('my name is ');
alert('1. Length: '+n.length +' Array: '+ n);
var str="my name is Robert";
var n=str.split(' ');
alert('2. Length: '+n.length +' Array: '+ n);
var str="my name is Robert";
var n=str.split('');
alert('3. Length: '+n.length +' Array: '+ n);