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

javascript split

200525 观看

9回复

0 作者的声誉

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

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

如果输入为“hello”,则输出应为“hello”。

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

作者: sol 的来源 发布者: 2009 年 3 月 16 日

回应 9


94

384398 作者的声誉

决定
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?"
作者: Paolo Bergantino 发布者: 2009 年 3 月 16 日

647

562878 作者的声誉

一切都是单行的。:)

var output = input.split(/[, ]+/).pop();
作者: Guffa 发布者: 2009 年 3 月 16 日

3

10497 作者的声誉

如果你不想构建一个数组......

var str = "how,are you doing, today?";
var res = str.replace(/(.*)([, ])([^, ]*$)/,"$3");

英语的细分是:

/(anything)(any separator once)(anything that isn't a separator 0 or more times)/

替换只是说用最后一个分隔符之后的东西替换整个字符串。

所以你可以看到一般如何应用它。请注意,原始字符串未被修改。

作者: Tony 发布者: 2012 年 2 月 1 日

42

457 作者的声誉

var item = "one,two";
var lastItem = item.split(",").pop(-1);

这不起作用吗?

作者: mohawke 发布者: 2012 年 6 月 12 日

0

1 作者的声誉

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 >>";
作者: user7425063 发布者: 2017 年 1 月 16 日

1

21 作者的声誉

您可以直接访问数组索引:

var csv = 'zero,one,two,three'; csv.split(',')[0]; //result: zero csv.split(',')[3]; //result: three

作者: tnong 发布者: 2017 年 7 月 19 日

2

109 作者的声誉

array.split(' ').slice(-1)[0]

有史以来最好的和我最喜欢的。

作者: jithil 发布者: 2018 年 12 月 11 日

7

1868 作者的声誉

您还可以考虑反转数组并获取第一个元素。这样你就不必了解它的长度,但它没有带来任何真正的好处和缺点,即大型数组的反向操作可能需要更长的时间:

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

虽然这很容易,但也修改了有问题的原始数组。这可能是也可能不是问题。

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

可能你可能想要使用它:

array1.split(",").pop()
作者: Smile4ever 发布者: 2018 年 12 月 18 日

0

3 作者的声誉


lastelement ='你今天做得怎么样?' .split(/ [\ s,] + /)。pop() ;


作者: MUHAMMED IQBAL 发布者: 2019 年 4 月 1 日
32x32