12

我在 jQuery 中有字符串:

var string1 = 'Stack Exchange premium';
var string2 = 'Similar Questions'; //  only two
var string3 = 'Questions that may already have your answer';

我怎样才能从这第二个和第三个词中得到?

var second1 = ???;
var third1 = ???;
var second2 = ???;
var third2 = ???;
var second3 = ???;
var third3 = ???;
4

5 回答 5

20

使用 stringsplit()以空格分隔字符串:

var words = string1.split(' ');

然后使用以下命令访问单词:

var word0 = words[0];
var word1 = words[1];
// ...
于 2013-04-25T19:22:32.953 回答
10

首先,您没有“在 jQuery 中”的字符串和变量。jQuery 与此无关。

其次,改变你的数据结构,像这样:

var strings = [
    'Stack Exchange premium',
    'Similar Questions',
    'Questions that may already have your answer'
];

然后使用第二个和第三个单词创建一个新数组。

var result = strings.map(function(s) {
    return s.split(/\s+/).slice(1,3);
});

现在您可以像这样访问每个单词:

console.log(result[1][0]);

这将为您提供第二个结果的第一个单词。

于 2013-04-25T19:29:57.900 回答
5

只是为了增加可能的解决方案,split()如果字符串中有多个空格,则使用的技术将失败。

var arr = "   word1   word2    ".split(' ')

//arr is ["", "", "", "word1", "", "", "word2", "", "", "", ""]

为避免此问题,请使用以下

var arr = "   word1   word2    ".match(/\S+/gi)

//arr is ["word1", "word2"]

然后像往常一样,

var word1 = arr[0];
var word2 = arr[1]
//etc 

也不要忘记使用.length属性检查数组长度以避免进入undefined变量。

于 2013-04-25T19:31:20.363 回答
4
var temp = string1.split(" ")//now you have 3 words in temp
temp[1]//is your second word
temp[2]// is your third word

你可以通过 temp.length 检查你有多少单词

于 2013-04-25T19:24:50.400 回答
0

const string = "这个湖离这里很远。"

const [,second,third,] = string.split(" ");

于 2018-12-16T18:23:09.767 回答