Итак, у меня есть массив строк с нерегулярными непоследовательными префиксами (например, 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;
et c.
Как мне go переименовать их последовательно? У меня немного ментального блока, так как мне неясно, как замена повлияет на переменно длинную первую часть строки, сохраняя при этом целостность остальной части строки (например, как только префикс достигнет определенной длины, он будет обрезать части остальной части строки.) Моя вторая проблема заключается в том, как последовательно определить изменяющийся префикс для переименования в a для l oop? Я не думаю, что могу использовать фиксированную подстроку, чтобы получить префикс, потому что я либо захватить часть или слишком большую часть строки. Я предполагаю, что мне нужно написать какую-то функцию для оценки и нормализации префикса перед использованием метода замены. Я предполагаю, что в моем случае я мог бы просто захватить и заменить первые три символа и игнорировать «.», но я бы хотел найти более универсальный и понятный подход к этому.
Вот фрагмент я предполагаю, что это лай не того дерева ...
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
]
Было бы неплохо найти результат, который мог бы иметь дело со строками из длинных префиксов из нескольких символов или гарантировал бы, что переименование префикса не обрезало остальную строку.
Спасибо