嗨,对不起,这个简单的问题,但我如何检测字符串中的最后两个单词?如何检测使用Javascript的最后2个单词?
让我们说我有这样的变种:
var sample = "Hello World my first website";
我怎样才能获得最后两个单词动力。我试图分裂()弹出,但只有最后一个字是越来越
var testing = sample.split(" ").pop();
console.log(testing)
嗨,对不起,这个简单的问题,但我如何检测字符串中的最后两个单词?如何检测使用Javascript的最后2个单词?
让我们说我有这样的变种:
var sample = "Hello World my first website";
我怎样才能获得最后两个单词动力。我试图分裂()弹出,但只有最后一个字是越来越
var testing = sample.split(" ").pop();
console.log(testing)
请注意,splice再次提供一个数组并再次访问字符串,您需要使用与直接从拆分数组访问相同的索引。这简直是
var words =sample.split(" ");
var lastStr = words[words.length -1];
var lastButStr = words[words.length -2];
如果你愿意,你正在做的方式。你几乎在那里。再次弹出()。
pop()方法从数组中删除最后一个元素并返回该元素。此方法更改数组的长度。
var sample = "Hello World my first website";
var words= sample.split(" ");
var lastStr = words.pop(); // removed the last.
var lastButStr= words.pop();
console.log(lastStr,lastButStr);
笔记,弹出()删除的元素。并确保你有足够的话。
我没有downvote它先生 – VLR
@VLR没问题。希望你喜欢我的回答。如果它没有评论,我真的不关心downvote。 –
虽然这回答了这个问题,但很高兴看到这些变量的一些更好的名字 –
或用正则表达式做,如果你想把它当作一个字符串
var str = "The rain in SPAIN stays mainly in the plain";
var res = str.match(/[^ ]* [^ ]*$/g);
console.log(res);
舌头脸颊:解决与正则表达式的问题意味着你现在有2个问题:原始问题和正则表达式你需要维护和正确的文件。 – Nzall
正如@jacques marais的回答指出的那样,我可能会避免在空间上分裂来检索单词。 ('how'now。brown cow?')。split('')'=>'[“how”,“now”,“brown”,“cow?”]'vs alphanumeric'('how; (/ \ w +/g)'=>'[“how”,“now”,“brown”,“cow”]'。当然,这有它自己的问题,如unicode特殊字符(例如☃),所以这需要根据实际使用情况进行调整... – BurnsBA
试试这个
var sample = "Hello World my first website";
var testing = sample.split(" ").slice(-2);
console.log(testing)
你可以也尝试类似:
sample.match(/\w+\W+\w+$/);
var splitted = "Hello World my first website".split(" ");
var testing = splitted.splice(splitted.length - 2);
console.log(testing[0] + " " + testing[1]);
试试这个。
var testing = sample.split(" ").splice(-2).join(' ');
首先我们使用分割功能,然后通过拼接,我们可以得到最后的两个词,并通过加入功能串联这两个词拆分字符串。
请检查该
sample.split(" ").splice(-2).join(" ");
为什么不能简单地用'pop'两次? – Bergi