在Javascript中对以下字符串进行子字符串的最简单方法

时间:2015-05-21 15:49:27

标签: javascript string

字符串看起来像这样:

"Hello John and Hi Anne"

"Hello Daniel and Hi Kraig"

我想从字符串中获取名称;例如

var name1 = "John"
var name2 = "Anne"

"

HelloHiand不会改变,只有名字会改变。

如何在Javascript中执行此操作?我不想真正计算指数。

编辑:在名称变量中没有空格,即名称不能是" John Doe"。

4 个答案:

答案 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]);