CNode

replace()使用方法求助!

问答
Qqijianzhong发布于8 年前最后回复8 年前4 回复4060 浏览0 收藏

有这样类似的数据 dfsdd234234.jpg dfsdd234234.mp3 dfsdd234234.png ... 这些字符串 想用replace()方法一句话得到 '.' 之前的所有字符串

查看回复

回复 (4)

D
dislido#1·8 年前
const data = ['dfsdd234234.jpg', 'dfsdd234234.mp3', 'dfsdd234234.png'];
const output = data['map'](_=>[]['reduce']['call'](_,(_,$)=>({[![]]:_[![]]||$==='.',[!![]]:_[!![]]+(!_[![]]&&$!=='.'&&$||'')}),{[![]]:![],[!![]]:''})[!![]]);
console.log(output); // ["dfsdd234234", "dfsdd234234", "dfsdd234234"]

看问题应该只是想要去掉后缀名,那么应该考虑文件名内有其他.字符的情况

const data = ['dfsdd23.4234.jpg', 'df.sdd23.4234.mp3', 'dfsdd234234.png'];
const output = data['map'](_=>[]['reduceRight']['call'](_,(_,$)=>({[![]]:_[![]]||$==='.',[!![]]:(_[![]]&&$||'')+_[!![]]}),{[![]]:![],[!![]]:''})[!![]]||_);
console.log(output); // ["dfsdd23.4234", "df.sdd23.4234", "dfsdd234234"]
G
gjc9620#2·8 年前

[
  `dfsdd234234.jpg`,
  `dfsdd234234.mp3`,
  `dfsdd234234.png`,
].map(str=>str.replace(/(.*)\..*$/,'$1'))


A
atian25#3·8 年前

.split('.')[0]

1
1657413883#4·8 年前

这个格式固定的话2楼方法最简单

参与回复
登录后即可参与回复。登录