我有一些类似的文字:
是否可以使用jQuery选择第二个“^”之后的最后一个数字并删除其他部分?
即保持每行的最后一个数字如下:
我知道如何选择课程/身份/特定文字但我挂在这里。 提前谢谢
答案 0 :(得分:1)
如果格式始终相同,则可以使用javascript的String.split(delimiter)方法将'^'处的字符串拆分为数组,这将返回如下内容:
["vt_wildshade2", "508", "508"]
在这种情况下,以下代码将从您的行中取最后一位:
var str = "vt_wildshade2^508^508";
var numbers = str.split("^")[2];
供参考:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split
如果格式不一定相同,则需要使用正则表达式以您需要的格式查找所需的数据,正如其他答复者所解释的那样。
不确定这些数据是如何进入的,您是否可以在脚本运行之前澄清这些数据的显示方式?
答案 1 :(得分:1)
var string = 'vt_wildshade2^508^508',
number = string.match(/[0-9]+$/)[0];
console.log(number);
$
:匹配字符串的结尾。
[0-9]
:匹配数字。
+
:匹配前面的1次或更多次
*
:匹配前面的0次或更多次。
如果您不确定字符串末尾是否有数字,则可以将+
更改为*
number
将是一个空字符串。
参考:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp
答案 2 :(得分:0)
如果你有:
vt_wildshade2^508^508
说,来自:
var theText = $('p').text();
所以,相当于:
var theText = 'vt_wildshade2^508^508';
您可以通过以下方式获取最终的“508”文字:
var finalNumber = theText.split('^')[2];
如果你需要它成为一个数字,更像是:
var finalNumber = (theText.split('^').length > 2) ? parseInt(theText.split('^')[2], 10) : -1;
如果没有第3个号码,则上述代码中的默认值为-1。