Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用相应的字母编号替换文件名的最后一个字母_Javascript_Regex - Fatal编程技术网

Javascript 用相应的字母编号替换文件名的最后一个字母

Javascript 用相应的字母编号替换文件名的最后一个字母,javascript,regex,Javascript,Regex,我正在开发一个重命名程序应用程序,它正在使用Javascript做各种事情。应用程序给我这个函数默认情况下函数(索引,项){}我必须在其中编写代码,这可能看起来像函数(索引,项){return item.newBasename…等} 我想做的是将文件名的最后一个字母替换为相应的字母编号。例如,从“文件名AA”到“文件名A1” 基于下面的示例,我如何才能做到这一点 function(index, item) { return item.newBasename.replace(???); }

我正在开发一个重命名程序应用程序,它正在使用Javascript做各种事情。应用程序给我这个函数默认情况下
函数(索引,项){}
我必须在其中编写代码,这可能看起来像
函数(索引,项){return item.newBasename…等}

我想做的是将文件名的最后一个字母替换为相应的字母编号。例如,从“文件名AA”到“文件名A1

基于下面的示例,我如何才能做到这一点

function(index, item) {
    return item.newBasename.replace(???);
}

您可以使用
String.prototype.replace
,使用正则表达式匹配文件名的最后一个字母,并使用函数查找字母表中相应的字母位置

例如:

const basename='hello world'。替换(/([a-z])$/i,l=>'abcdefghijklmnopqrstuvwxyz';

console.log(basename)我终于找到了解决方案

function(index, item) {
    str=item.newBasename;
    num=str.toUpperCase().slice(-1).charCodeAt(0) - 64;
    if (num>0 && num < 27) str = str.slice(0, str.length - 1) + num;
    return str; 
}
功能(索引,项){
str=item.newBasename;
num=str.toUpperCase().slice(-1).charCodeAt(0)-64;
如果(num>0&&num<27)str=str.slice(0,str.length-1)+num;
返回str;
}

发布的问题似乎根本不包括解决问题的方法。StackOverflow希望您能这样做,因为您的尝试有助于我们更好地了解您的需求。请编辑问题以显示您已尝试过的内容,以便说明您在某个问题中遇到的具体问题。有关更多信息,请参阅并使用。
替换文件名最后一个位置的每个字母
-这没有意义。“最后一个位置”只能有一个字母。@fubar:我是指从“A”到“Z”的每个字母!!!请添加一些示例和您尝试的代码。@SimonetosTheGreek,我指的是替换前文件名输入值和预期输出值的示例。你一定知道能解决这个问题。我不能让它工作。。。我正在做这个
函数(index,item){return item.newBasename.replace(/([a-z])$/I,l=>'abcdefghijklmnopqrstuvwxyz'.indexOf(l.toLowerCase())+1);}
但是什么都没有。应用程序说“有错误”,就是这样!!!我有语法错误吗?什么错误?查看控制台或错误日志。此应用程序不提供错误日志!!!我说的是“高级重命名器”。