我需要用多个分隔符获取拆分数组的最后一个元素。分隔符是逗号和空格。如果没有分隔符,则返回原始字符串。
如果字符串是"how,are you doing, today?"它应该返回"today?"
如果输入是“hello”,输出也应该是“hello”。
如何在JavaScript中做到这一点?
我需要用多个分隔符获取拆分数组的最后一个元素。分隔符是逗号和空格。如果没有分隔符,则返回原始字符串。
如果字符串是"how,are you doing, today?"它应该返回"today?"
如果输入是“hello”,输出也应该是“hello”。
如何在JavaScript中做到这一点?
当前回答
Const STR = "你好,今天怎么样?" Const pieces = str.split(/[\s,]+/) Const last = pieces[碎片。长度- 1] console.log ({})
此时,pieces是一个数组和pieces。Length包含数组的大小,因此要获取数组的最后一个元素,可以检查pieces[pieces. Length -1]。如果没有逗号或空格,它将简单地输出给定的字符串。
alert(pieces[pieces.length-1]); // alerts "today?"
其他回答
var item = "one,two,three";
var lastItem = item.split(",").pop();
console.log(lastItem); // three
如果你不想构造一个数组……
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)/
replace表示用最后一个分隔符之后的内容替换整个字符串。
所以你可以看到这是如何应用的。注意原始字符串没有被修改。
获取最后一个元素有多种方法
让输入=“一,二,三,四”; Let output1 = input.split(',').pop(); console.log (output1 =, output1); Let split = input.split(','); Let output2 = split[split.length-1]; console.log (output2, output2 = '); Let output3 = input.split(',').reverse()[0]; console.log (output3, output3 = '); Let output4 = input.split(',').slice(-1)[0]; console.log (output4, output4 = ');
你可以直接访问数组索引:
Var CSV = ' 0,1,2,3 '; csv.split (" ") [0];/ /结果:零 csv.split (" ") [3];/ /结果:3
史上最好的,也是我最喜欢的分切法
Const STR = "你好,你今天怎么样?" Const last = str.split(' ').slice(-1)[0] console.log ({})
另一个是使用拆分,然后弹出最后一个。
Const STR = "你好,你今天怎么样?" Const last = str.split(' ').pop() console.log ({})