Javascript 函数需要改进,应该返回一个u和一个数字(无论多长)
我刚刚回顾了一个项目的一些功能,发现了一个问题 我有以下功能:Javascript 函数需要改进,应该返回一个u和一个数字(无论多长),javascript,jquery,function,Javascript,Jquery,Function,我刚刚回顾了一个项目的一些功能,发现了一个问题 我有以下功能: context = context.slice(-2); 这应该得到字符串的最后一位,例如'something_2',返回值应该是'something_2',但是如果函数遇到'something_230',那么现在我假设上面的代码只返回'30',而不是'_230' var cleanItemId = function(context) { context = context.slice(-2); return co
context = context.slice(-2);
这应该得到字符串的最后一位,例如'something_2',返回值应该是'something_2',但是如果函数遇到'something_230',那么现在我假设上面的代码只返回'30',而不是'_230'
var cleanItemId = function(context)
{
context = context.slice(-2);
return context;
}
我认为这是一个大问题,但我不确定如何解决这个问题,我假设我需要一个reg表达式,有人能给我指出正确的方向吗
任何帮助都将不胜感激。提前谢谢。您还不需要正则表达式
您还不需要正则表达式 我想我需要一个正则表达式,有人能给我指出正确的方向吗 正则表达式可以工作,但不一定需要正则表达式。方法:
var m = context.match(/_(\d+)$/);
if (m) {
// Use `m[1]` to get the digits
}
该表达式表示:“一个literal\uu
后跟一个或多个数字,后跟字符串的结尾,将这些数字作为捕获组捕获。”split(“”“)
并获取结果数组中的最后一个元素
var m = context.split('_');
// Use `m[m.length - 1]` to get the digits
lastIndexOf
查找。
,然后抓取字符串的其余部分
var x = context.lastIndexOf('_');
if (x !== -1) {
// Use `context.substring(x + 1)` to get the digits
}
var m = context.match(/_(\d+)$/);
if (m) {
// Use `m[1]` to get the digits
}
该表达式表示:“一个literal\uu
后跟一个或多个数字,后跟字符串的结尾,将这些数字作为捕获组捕获。”split(“”“)
并获取结果数组中的最后一个元素
var m = context.split('_');
// Use `m[m.length - 1]` to get the digits
lastIndexOf
查找。
,然后抓取字符串的其余部分
var x = context.lastIndexOf('_');
if (x !== -1) {
// Use `context.substring(x + 1)` to get the digits
}
创建函数似乎毫无用处:
context = context.replace(/^.*(_\d+)$/, '$1');
这一条同样有效:
context = context.replace(/^.*(?=_\d+$)/, '');
如果您想要第一部分:
context = context.replace(/_\d+$/, '');
详细信息如下:。创建函数似乎毫无用处:
context = context.replace(/^.*(_\d+)$/, '$1');
这一条同样有效:
context = context.replace(/^.*(?=_\d+$)/, '');
如果您想要第一部分:
context = context.replace(/_\d+$/, '');
此处的详细信息:
如果您确定字符串中最后有一个\
,则会出现这种情况。如果还需要将字符串解析为数字:
var num = +context.split('_')[1];
如果您确定字符串中最后有一个\
,则会出现这种情况。如果还需要将字符串解析为数字:
var num = +context.split('_')[1];
如果字符串是
“some\u thing\u 230”
?如果存在这种情况的可能性:context.split(“'').reverse()[0]
。我只是根据给定的上下文进行回复。如果字符串是“some\u thing\u 230”
?如果存在这种情况的可能性:context.split(“”“).reverse()[0]
。我只是根据给出的上下文来回答。我认为这几乎涵盖了所有合理的解决方案:)我认为这几乎涵盖了所有合理的解决方案:)