字符串看起来像这样:
"Hello John and Hi Anne"
或
"Hello Daniel and Hi Kraig"
我想从字符串中获取名称;例如
var name1 = "John"
var name2 = "Anne"
"
Hello
,Hi
,and
不会改变,只有名字会改变。
如何在Javascript中执行此操作?我不想真正计算指数。
编辑:在名称变量中没有空格,即名称不能是" John Doe"。
答案 0 :(得分:7)
var nameString = "Hello John and Hi Anne";
var names = nameString.match(/Hello (.*) and Hi (.*)/);
console.log(names[1]); // John
console.log(names[2]); // Anne
答案 1 :(得分:3)
var array = "Hello Daniel and Hi Kraig".split(' ')
var name1 = array[1]
var name2 = array[array.length - 1]
答案 2 :(得分:1)
您可以使用regexp获取名称。
var string = "Hello John and Hi Anne";
var matches = string.match(/Hello\s+([a-zA-Z]+)\s+and\s+Hi\s+([a-zA-z]+)/);
console.log(matches[1], matches[2]);
\s+
表示一个或多个白色字符
[a-zA-Z]+
表示来自a-z和A-Z的一个或多个char
答案 3 :(得分:1)
在字符串中使用匹配方法:
var phrase = "Hello John and Hi Anne";
var match = phrase.match("Hello (.*) and Hi (.*)");
console.log(match[1], match[2]);