gpt4 book ai didi

javascript - 如何遍历字符串并替换除最后一个句点以外的所有句点?

转载 作者:行者123 更新时间:2023-11-30 07:23:27 24 4
gpt4 key购买 nike

假设我有这样一个字符串:

var test = my.long.file.name.zip

我正在使用 javascript 获取此字符串中的句点总数,如下所示:

var dots = (test.match(/\./g) || []).length;

然后,如果字符串中有多个句点,我想用下划线替换字符串中的所有句点。

   if(dots>"1"){   
var newname = test.replace(/\./g, "_");
console.log(newname);
}

问题是这会替换所有的句点。我想保持最后一个完好无损。所以我希望 newname 变量按原样读取:

my_long_file_name.zip

我的猜测是我应该使用 $.each() 以某种方式遍历除最后一个以外的所有内容以更改名称。我应该怎么做?

最佳答案

您不一定需要循环,您可以使用更复杂的正则表达式来实现,它使用 positive lookahead

正则表达式 /\.(?=.*\.)/g 查找句点,但仅在更远的地方有后续句点的地方,这意味着最后一个句点不匹配。

window.onload = function(){
var input = "my.long.file.name.zip"
var result = input.replace(/\.(?=.*\.)/g,'_')

alert(result);
}

关于javascript - 如何遍历字符串并替换除最后一个句点以外的所有句点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28504463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com