cod*_*pia 1 javascript each loops replace
假设我有一个这样的字符串:
var test = my.long.file.name.zip
我正在使用javascript获取此字符串中的句点总数,如下所示:
var dots = (test.match(/\./g) || []).length;
Run Code Online (Sandbox Code Playgroud)
如果字符串中有多个句点,我想用下划线替换字符串中的所有句点.
if(dots>"1"){
var newname = test.replace(/\./g, "_");
console.log(newname);
}
Run Code Online (Sandbox Code Playgroud)
问题是这正在取代所有时期.我想保持最后一个完好无损.所以我希望newname变量读取为:
my_long_file_name.zip
我的猜测是我应该$.each()以某种方式迭代除了最后一个之外的所有更改名称.我该怎么做?
你不一定需要一个循环,你可以使用更复杂的正则表达式,它使用积极的前瞻
正则表达式/\.(?=.*\.)/g找到句点,但只有在后续某个时间段的某个地方,这意味着最后一个句点不匹配.
window.onload = function(){
var input = "my.long.file.name.zip"
var result = input.replace(/\.(?=.*\.)/g,'_')
alert(result);
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1073 次 |
| 最近记录: |