Вопрос:
Кто-нибудь знает простой способ изменить расширение файла в Javascript?
Например, у меня есть переменная с “first.docx”, но мне нужно изменить ее на “first.html”.
Лучший ответ:
Это изменит строку, содержащую имя файла;
file = file.substr(0, file.lastIndexOf(«.»)) + «.htm»;
Для ситуаций, когда расширение может отсутствовать:
var pos = file.lastIndexOf(«.»); file = file.substr(0, pos < 0 ? file.length : pos) + «.htm»; Ответ №1file = file.replace(/.[^.]+$/, ‘.html’); Ответ №2
В Node.js:
path.join(path.dirname(file), path.basename(file, path.extname(file)) + ‘.html’)
Это также работает, если файл не имеет расширения и у одного из родительских каталогов есть точка в имени.
Ответ №3
Вероятно, этого не будет много, но я не мог сопротивляться.
Этот код будет иметь дело с граничным случаем, когда файл может не иметь расширения уже (в этом случае он будет его добавлять). Он использует “тильд-трюк”
function changeExt (fileName, newExt) { var _tmp return fileName.substr(0, ~(_tmp = fileName.lastIndexOf(‘.’)) ? _tmp : fileName.length) + ‘.’ + newExt } Ответ №4var file = «first.docx»; file = file.split(«.»); file = file[0]+».html»;