我正在尝试学习如何用javascript编写几行代码来拆分文件名并仅提取某些字符。
例如,我有一个文件名:";bk_is_great_2022119205974100_8Y.xlsx";
并且我只想从文件名中提取/显示202211。
var Type = function getFourthPart (str){
return str.split('_')][0,6];
}
我该怎么做?我试着寻找答案,但到目前为止,没有任何答案指向我所寻找的,这就是我用有限的知识所创造的。
如果您试图始终只显示文件名中日期的5个字母,那么您可以使用下面的语句只提取这些部分。
a.split('_')[3].substring(0,6)
您可以使用正则表达式来匹配前3次出现的下划线,然后在捕获组1中捕获6位数字。
^(?:[^s_]*_){3}(d{6})
部分模式匹配:
^
字符串开始(?:[^s_]*_){3}
重复3次匹配除_
以外的可选非空白字符,然后匹配_
(d{6})
捕获组1,匹配6位数字
const s = "bk_is_great_2022119205974100_8Y.xlsx";
const regex = /^(?:[^s_]*_){3}(d{6})/;
const m = s.match(regex);
if (m) {
console.log(m[1]);
}