【发布时间】:2020-02-16 19:13:11
【问题描述】:
所以,我有一个字符串数组,其中包含不规则的非顺序前缀(例如 1. Some file name; 2. Some file name; 11. Some file name; 10. Some file name; 1. Some file name; 2. Some file name; 2. Some file name; 等。
我将如何依次重命名这些?我有一点心理障碍,因为我不清楚替换将如何影响字符串的可变长度的第一部分,同时保持字符串其余部分的完整性(例如,一旦前缀达到一定长度它会截断字符串的其余部分)。我的第二个问题是如何一致地识别更改前缀以在 for 循环中重命名?我不认为我可以使用固定的子字符串来抓取前缀,因为我会抓取部分或过多的字符串。我假设在使用 replace 方法之前我需要编写某种函数来评估和规范化前缀。我想在我的情况下,我可以抓住并替换前三个字符并忽略“。”字符,但我想找到一种更通用和可维护的方法。
我认为这是一个 sn-p,它正在吠叫错误的树...
if(suffix === "txt"){
prefix = file.charAt(0);
console.log(prefix);
if(!isNaN(prefix)){
newPre = prefix++;
newFile = file.replace(newPre, prefix);
console.log(newFile);
file1 = path.join(directoryPath, file);
newFile1 = path.join(directoryPath, newFile);
fs.rename(file1, newFile1, function(err){
if(err) throw err;
console.log('it worked, mofo!');
})
}
编辑:
期望的结果与重新加前缀的数组的顺序相同:
[
1. Some file name
2. Some file name
3. Some file name
etc
]
如果能找到一个可以处理多个字符长前缀字符串的结果,或者确保前缀重命名不会截断字符串的其余部分,那就太好了。
谢谢
【问题讨论】:
-
请添加想要的结果。
标签: javascript node.js loops