Как изменить расширение файла с помощью javascript

Кто-нибудь знает простой способ изменить расширение файла в Javascript?

Например, у меня есть переменная с "first.docx", но мне нужно изменить ее на "first.html".

Ответы

Ответ 1

Это изменит строку, содержащую имя файла;

file = file.substr(0, file.lastIndexOf(".")) + ".htm";

Для ситуаций, когда расширение может отсутствовать:

var pos = file.lastIndexOf(".");
file = file.substr(0, pos < 0 ? file.length : pos) + ".htm";

Ответ 2

file = file.replace(/\.[^\.]+$/, '.html');

Ответ 3

В Node.js:

path.join(path.dirname(file), path.basename(file, path.extname(file)) + '.html')

Это также работает, если файл не имеет расширения и у одного из родительских каталогов есть точка в имени.

Ответ 4

Вероятно, этого не будет много, но я не мог сопротивляться.

Этот код будет иметь дело с граничным случаем, когда файл может не иметь расширения уже (в этом случае он будет его добавлять). Он использует "тильд-трюк"

function changeExt (fileName, newExt) {
  var _tmp
  return fileName.substr(0, ~(_tmp = fileName.lastIndexOf('.')) ? _tmp : fileName.length) + '.' + newExt
}

Ответ 5

var file = "first.docx";
file = file.split(".");
file = file[0]+".html";