Answers:
var str = "hello,how,are,you,today?";
var pieces = str.split(/[\s,]+/);
此时,pieces
是一个数组,pieces.length
其中包含数组的大小,因此,要获取数组的最后一个元素,请检查pieces[pieces.length-1]
。如果没有逗号或空格,它将仅输出给定的字符串。
alert(pieces[pieces.length-1]); // alerts "today?"
var last = str.split(/[\s,]+/).pop()
一切都有一线。:)
var output = input.split(/[, ]+/).pop();
split
调用创建的,所以无论如何都不会保留。通过从数组中弹出项目,不会更改原始字符串。
{1,}
,即[, ]+
匹配集合中的一个或多个字符(逗号和空格)。当您希望从字符串中获取所有单词时,此功能很有用,但是当您只希望最后一个单词没有任何功能上的区别时,由于数组中的字符串会更少,因此仅会减少开销。
var item = "one,two,three";
var lastItem = item.split(",").pop();
console.log(lastItem); // three
.split(',').pop()
适用于逗号分隔字符串上的最后一个元素。只是说,因为我被Guffa出色的答案所误导,我只是不理会它,因为不需要正则表达式,并认为其中的窍门就在那里!:P
您还可以考虑反转数组并采用第一个元素。这样,您不必知道长度,但是它并没有带来真正的好处,也没有带来不利之处,即对于大数组,反向操作可能需要更长的时间:
array1.split(",").reverse()[0]
虽然很简单,但是也可以修改原始数组。那可能是问题,也可能不是问题。
参考:https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse
也许您可能想使用它:
array1.split(",").pop()
.pop()
方法是到目前为止我所看到的最好的答案。这就是它被创建的原因!
var title = 'fdfdsg dsgdfh dgdh dsgdh tyu hjuk yjuk uyk hjg fhjg hjj tytutdfsf sdgsdg dsfsdgvf dfgfdhdn dfgilkj,n, jhk jsu wheiu sjldsf dfdsf hfdkdjf dfhdfkd hsfd ,dsfk dfjdf ,yier djsgyi kds';
var shortText = $.trim(title).substring(1000, 150).split(" ").slice(0, -1).join(" ") + "...More >>";
您可以直接访问数组索引:
var csv = 'zero,one,two,three';
csv.split(',')[0]; //result: zero
csv.split(',')[3]; //result: three
pieces.pop()
用来获取数组的最后一项。