gpt4 book ai didi

javascript - 正则表达式:删除(包括)最后一个下划线和文件扩展名之间的所有内容

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:40:55 24 4
gpt4 key购买 nike

我想从数组中的所有元素中删除 ISO 代码和前导下划线,同时保留文件扩展名。 ISO 代码始终位于文件扩展名之前。

源数组:

var SrcFiles = [
"File_with_nr1_EN.txt",
"File_has_NR_3_ZHHK.txt",
"File_yy_nr_2_DE.pdf"
];

我希望它看起来像这样:

var SrcFiles = [
"File_with_nr1.txt",
"File_has_NR_3.txt",
"File_yy_nr_2.pdf"
];

我该怎么做?可能使用正则表达式,但如何?我找到了一个很好的正则表达式来只匹配文件结尾,但我真的不知道这对我有什么帮助。

const re = /(?:\.([^.]+))?$/;

最佳答案

查找 _ 后跟任何不是 _ 的内容([^_]),然后是: . 后跟末尾不是 _ 的任何内容 ($)粗体部分应捕获为$1

var SrcFiles = [
"File_with_nr1_EN.txt",
"File_has_NR_3_ZHHK.txt",
"File_yy_nr_2_DE.pdf"
];

var re = /_[^_]+(\.[^_]+)$/;

console.log(SrcFiles.map(f => f.replace(re, "$1")));

REGEX101 DEMO !

关于javascript - 正则表达式:删除(包括)最后一个下划线和文件扩展名之间的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43440995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com