当前位置:  开发笔记 > 编程语言 > 正文

获取拆分字符串数组的最后一个元素

如何解决《获取拆分字符串数组的最后一个元素》经验,为你挑选了5个好方法。

我需要使用多个分隔符来获取split数组的最后一个元素.分隔符是逗号和空格.如果没有分隔符,则应返回原始字符串.

如果字符串是"你今天怎么样?" 它应该返回"今天?"

如果输入为"hello",则输出应为"hello".

我怎样才能在JavaScript中执行此操作?



1> Guffa..:

一切都是单行的.:)

var output = input.split(/[, ]+/).pop();


@Jangla:这不是问题,因为数组是由`split`调用创建的,所以不管怎样.通过从数组中弹出项目不会更改原始字符串.
这里的问题是pop()也*从数组中删除*元素,从而改变它.
@MarioLevrero:这是一个量词,其含义与量词“ {1,}”相同,即“ [,] +”匹配集合中的一个或多个字符(逗号和空格)。当您希望从字符串中获取所有单词时,这很有用,但是当您只希望最后一个单词没有任何功能上的区别时,由于数组中的字符串会更少,因此它只会减少开销。

2> Paolo Bergan..:
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?"


您还可以使用`pieces.pop()`来获取数组的最后一项.

3> 小智..:
var item = "one,two";
var lastItem = item.split(",").pop(-1);

这不起作用吗?


我不认为pop()接受参数.
但是,一般来说`.split(',').pop()`适用于逗号分隔字符串的最后一个元素.只是说'因为我被Guffa的惊人答案所误导,我只是无视它,因为不需要正则表达式,并认为诀窍就在那里!:P

4> Smile4ever..:

您也可以考虑反转数组并采用第一个元素。这样,您不必知道长度,但是它并没有带来真正的好处,也没有缺点,即对于大数组,反向操作可能需要更长的时间:

array1.split(",").reverse()[0]

虽然很简单,但也可以修改原始数组。那可能是问题,也可能不是问题。

参考:https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse

也许您可能想使用它:

array1.split(",").pop()



5> 小智..:
array.split(' ').slice(-1)[0]

有史以来最好的,也是我的最爱。

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有