从javascript中的字符串路径获取文件名
Get filename from string path in javascript?
如何从javascript中的字符串路径中获取文件名?
这是我的代码
var nameString = "/app/base/controllers/filename.js"; //this is the input path string
在这里做点什么只获取文件名
var name = ??? //this value should equal to filename.js
试试这个:
var nameString = "/app/base/controllers/filename.js";
var filename = nameString.split("/").pop();
我不知道你为什么要用正则表达式来实现这一点。当然,以下内容就足够了:
var nameString = "/app/base/controllers/filename.js";
var nameArray = nameString.split('/');
var name = nameArray[nameArray.length - 1];
这里有一个使用正则表达式的更详细的解决方案。
备选方案1(通用):从字符串路径中获取文件名(随便)。
const FILE_NAME_REGEX = /(.+)'/(.+)$/
console.log("/home/username/my-package/my-file1.ts".replace(FILE_NAME_REGEX, '$2'))
console.log("/home/username/my-package/my-file2.js".replace(FILE_NAME_REGEX, '$2'))
备选方案2(高级):从字符串路径中仅获取.ts
文件名。
const JS_PATH = "/home/username/my-package/my-file.spec.js"
const TS_PATH = "/home/username/my-package/my-file.spec.ts"
// RegExp accepts only `.ts` file names in lower case with optional dashes and dots
const TS_REGEX = /(.+)'/([a-z.-]+'.(ts))$/
// a. Get only the file name of a `.ts` path
console.log(TS_PATH.replace(TS_REGEX, '$2'))
// b. Otherwise it will return the complete path
console.log(JS_PATH.replace(TS_REGEX, '$2'))
注意:此外,您可以先测试上面的正则表达式,以便在获得预期值之前对其进行验证。
TS_REGEX.test(TS_PATH)
// > true
TS_REGEX.test(JS_PATH)
// > false
更多信息,请访问MDN-正则表达式
纯正则表达式解决方案:'/([^'''/:*?'"<>|]+)$
您将从组1 中获得文件名
相关文章:
- 使用c#中的邮件附件javascript在客户端机器上获取服务器端导出的crystal报告路径.下面的
- 如何使用php和javascript获取网页中显示图像的路径
- 从不一致的文件路径数组中获取键的值
- javascript onclick获取不带路径的图像名称
- 获取要提交到php中dropbox的输入路径
- 在移动设备上按路径或名称获取二进制图像(Ionic / Ng cordova 应用程序)
- 在 Angular 中,我无法正确获取渲染路径
- 从javascript中的字符串路径获取文件名
- 使用Javascript获取SVG路径的绝对坐标
- 如何在Sonarqube Javascript扩展中获取项目路径
- 如何在dropzone.js中获取选定的文件路径
- $location.path获取上一个路径
- 获取在html中选择的完整路径文件夹
- Node Webkit从avi文件路径获取视频持续时间
- 通过指定完整路径获取 JSON 子值时出现问题
- 按路径获取属性
- Javascript从路径获取img的宽度
- 使用当前的require.js路径获取jquery load/get
- SVG:如何制作路径/获取路径的点
- 如何通过相对路径获取URL?-Javascript