Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String - Fatal编程技术网

Javascript 替换最后一个点(.)之前的字符串

Javascript 替换最后一个点(.)之前的字符串,javascript,string,Javascript,String,我有一个类似a/B/C/D.txt的字符串 所以我想替换最后一个字符之前的字符。用新的。 就像我在最后添加E一样,输出应该是A/B/C/E.txt 仅使用replace和concat或Regex就可以做到这一点吗? var parts='A/B/C/D.txt'。拆分('.'); 如果(零件长度>1) { 零件[parts.length-2]=零件[parts.length-2]。替换(/.$/,“E”); 让结果=parts.join('.'); 控制台日志(结果); }试试这个: let

我有一个类似a/B/C/D.txt的字符串

所以我想替换最后一个字符之前的字符。用新的。 就像我在最后添加E一样,输出应该是A/B/C/E.txt

仅使用replace和concat或Regex就可以做到这一点吗?

var parts='A/B/C/D.txt'。拆分('.');
如果(零件长度>1)
{
零件[parts.length-2]=零件[parts.length-2]。替换(/.$/,“E”);
让结果=parts.join('.');
控制台日志(结果);
}
试试这个:

let name=“A/B/C/D.txt”
设res=name.substr(0,name.lastIndexOf(“.”)+“E.”+name.substr(name.lastIndexOf(“.”+1);

控制台日志(res)我确信输出是正确的

A/B/C/E.txt
var filename='A/B/C/D.txt';
var dotIndex=filename.lastIndexOf('.');

document.write(filename.substr(0,dotIndex-1)+“E”+filename.substr(dotIndex,filename.length dotIndex))谢谢Sourabh,但是在您的代码响应中,如A/B/C/D.Etxt而不是A/B/C/E。txt@Dharam1986哦,对不起,我错过了。已编辑此项,请立即检查。仍像A/B/C/D.E.一样输出。txt@Dharam1986现在尝试:)现在返回A/B/C/DE.txtoleg,但结果仅添加新文本,结果为E.txt,预期结果为A/B/C/E.txtI修改脚本,代码段为Regex:“A/B/C/D.txt”。替换(/D\(?=[^.])/,“E.”;是的,工作很有魅力