如何在jQuery中拆分字符串并获取最后一个匹配项?

8

我有这样的一个字符串

This is ~test content ~ok ~fine.

我想要使用jQuery获取位于特殊字符~后面且在字符串中的最后位置的"fine"

2个回答

16

您可以使用 [substring()][1] 和 [lastIndexOf()][2] 的组合来获取最后一个元素。

str = "~test content ~thanks ok ~fine";    
strFine =str.substring(str.lastIndexOf('~'));
console.log(strFine );

你可以使用 [split()][4] 方法将字符串转换为数组并获取最后一个元素,最后一个索引是 数组长度 - 1,因为数组是从零开始编号的。

str = "~test content ~thanks ok ~fine";    
arr = str.split('~');
strFile = arr[arr.length-1];
console.log(strFile );

或者,只需在拆分后得到的数组上调用pop函数

str = "~test content ~thanks ok ~fine";    
console.log(str.split('~').pop());


第一种方法在我的路径上并没有真正起作用,它会保留文件名中的最后一个“\”,但第二种方法非常准确。谢谢! - StinkyCat

5

只需使用纯JavaScript:

var str = "This is ~test content ~thanks ok ~fine";
var parts = str.split("~");
var what_you_want = parts.pop();
// or, non-destructive:
var what_you_want = parts[parts.length-1];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接