最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript去除文件名稱中的后綴名的多種方法

 更新時(shí)間:2025年12月07日 14:50:26   作者:Never_Satisfied  
本文介紹了JavaScript中去除文件名后綴名的四種方法,并推薦使用substring()和lastIndexOf()方法,因?yàn)樗?jiǎn)潔易懂,性能較好,并能處理特殊情況,需要的朋友可以參考下

在JavaScript中有多種方法可以去掉文件名的后綴名,以下是幾種常見的方法:

方法1:使用substring()和lastIndexOf()

function removeFileExtension(filename) {
    const lastDotIndex = filename.lastIndexOf('.');
    if (lastDotIndex === -1) {
        return filename; // 沒有后綴名,直接返回
    }
    return filename.substring(0, lastDotIndex);
}

// 示例
const filename1 = "document.txt";
const filename2 = "image.jpeg";
const filename3 = "no_extension";

console.log(removeFileExtension(filename1)); // "document"
console.log(removeFileExtension(filename2)); // "image"
console.log(removeFileExtension(filename3)); // "no_extension"

方法2:使用split()和pop()

function removeFileExtension(filename) {
    const parts = filename.split('.');
    if (parts.length > 1) {
        parts.pop(); // 移除最后一部分(后綴名)
        return parts.join('.');
    }
    return filename; // 沒有后綴名
}

// 示例
console.log(removeFileExtension("photo.jpg")); // "photo"
console.log(removeFileExtension("archive.tar.gz")); // "archive.tar"

方法3:使用正則表達(dá)式

function removeFileExtension(filename) {
    return filename.replace(/\.[^/.]+$/, "");
}

// 示例
console.log(removeFileExtension("script.js")); // "script"
console.log(removeFileExtension("config.json")); // "config"

方法4:使用 ES6 的數(shù)組解構(gòu)

function removeFileExtension(filename) {
    const [name] = filename.split('.').slice(0, -1).concat(filename.split('.').slice(0, -1).length ? [] : [filename]);
    return name || filename;
}

// 簡(jiǎn)化版本(適用于大多數(shù)情況)
function removeFileExtensionSimple(filename) {
    const parts = filename.split('.');
    return parts.length > 1 ? parts.slice(0, -1).join('.') : filename;
}

處理特殊情況

如果需要處理一些特殊情況(比如以點(diǎn)開頭的隱藏文件):

function removeFileExtensionSafe(filename) {
    // 排除以點(diǎn)開頭的隱藏文件(如 .gitignore)
    if (filename.startsWith('.') && filename.split('.').length === 2) {
        return filename;
    }
    
    const lastDotIndex = filename.lastIndexOf('.');
    return lastDotIndex === -1 ? filename : filename.substring(0, lastDotIndex);
}

// 示例
console.log(removeFileExtensionSafe(".gitignore")); // ".gitignore"
console.log(removeFileExtensionSafe("normal.file.txt")); // "normal.file"

推薦方案

對(duì)于大多數(shù)情況,我推薦使用方法1,因?yàn)樗?/p>

  • 代碼簡(jiǎn)潔易懂
  • 性能較好
  • 處理了沒有后綴名的情況
  • 可以正確處理多個(gè)點(diǎn)的情況(如 file.name.txtfile.name
function getFileNameWithoutExtension(filename) {
    const lastDotIndex = filename.lastIndexOf('.');
    return lastDotIndex === -1 ? filename : filename.slice(0, lastDotIndex);
}

選擇哪種方法主要取決于你的具體需求和使用場(chǎng)景。

到此這篇關(guān)于JavaScript去除文件名稱中的后綴名的多種方法的文章就介紹到這了,更多相關(guān)JavaScript去除文件名后綴名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

洛川县| 竹溪县| 临夏市| 清水县| 靖边县| 图片| 柘荣县| 郸城县| 固安县| 宁强县| 巴林左旗| 云龙县| 溧阳市| 新安县| 墨玉县| 睢宁县| 铁力市| 嘉兴市| 辉县市| 柘荣县| 湖州市| 长岭县| 阳新县| 巢湖市| 新宁县| 德江县| 临桂县| 韶山市| 阜阳市| 时尚| 英德市| 会东县| 红安县| 郸城县| 泰来县| 奎屯市| 南郑县| 浦江县| 萝北县| 乐至县| 丰县|