Angular 从完整路径获取不带扩展名的文件名

Angular get filename without extension from full path

我正在使用 angular,在我的 .ts 文件中,我想获取不带扩展名的路径路径的文件名。

这里是完整路径+文件名:

const fullpath = ["C:\Users\my.user\Desktop\the_filename.txt"]

我一直在尝试这个:

getFileNameOnly() {
  var fileName = "C:\Users\my.user\Desktop\the_filename.txt";
  var res = fileName.substr(fileName.lastIndexOf('.') + 1); 
  console.log(res);
}

以上returns错误:

TypeError: fileName.substr is not a function

我怎样才能使结果为:

"the_filename" ?

var fullpath = "C:/Users/my.user/Desktop/the_filename.txt";
var filename = fullpath.split('/').pop().split('.')[0];

结果:- “the_filename”

编辑 1:

var fullpath = "C:\Users\my.user\Desktop\the_filename.txt";
JSON.stringify(fullpath).split('\').pop().split('.')[0]

结果:- “the_filename”

控制台图像:

我已经更正了您的字符串(“\”必须是字符串中的“\\”,否则它会“转义”u、m、d、...)和代码:

getFileNameOnly() {
  var fileName = "C:\Users\my.user\Desktop\the_filename.txt";
  var res = fileName.substr(fileName.lastIndexOf('\') + 1);
  res = res.substr(0, res.lastIndexOf('.'));  
  console.log(res);
}

以及 table 元素:

getFileNameOnly() {
  const fullpath = ["C:\Users\my.user\Desktop\the_filename.txt"];
  var res = fileName[0].substr(fileName.lastIndexOf('\') + 1);
  res = res.substr(0, res.lastIndexOf('.'));  
  console.log(res);
}

请注意,您仍然需要 double-backslash,它是一个字符串。

这样用

 getFileNameOnly() {
  var fileName = "C:\Users\my.user\Desktop\the_filename.txt";
  var res = fileName.split('\').pop().split('/').pop(); 
  console.log(res);
}