PathUtil.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. export default class PathUtil {
  2. /**
  3. * 返回 Path 的扩展名
  4. * @param path 路径
  5. * @returns {string}
  6. */
  7. public static extname(path: string): string {
  8. var temp = /(\.[^\.\/\?\\]*)(\?.*)?$/.exec(path);
  9. return temp ? temp[1] : '';
  10. }
  11. /**
  12. * 获取文件路径的文件名。
  13. * @param path 路径
  14. * @param extname 扩展名
  15. * @returns {string}
  16. */
  17. public static basename(path: string, extname?: string): string {
  18. let index = path.indexOf("?");
  19. if (index > 0) path = path.substring(0, index);
  20. let reg = /(\/|\\)([^\/\\]+)$/g;
  21. let result = reg.exec(path.replace(/(\/|\\)$/, ""));
  22. if (!result) return path;
  23. let baseName = result[2];
  24. if (extname && path.substring(path.length - extname.length).toLowerCase() === extname.toLowerCase())
  25. return baseName.substring(0, baseName.length - extname.length);
  26. return baseName;
  27. }
  28. /**
  29. * 获取文件路径的目录名
  30. * @param path 路径
  31. * @returns {string}
  32. */
  33. public static dirname(path: string): string {
  34. var temp = /((.*)(\/|\\|\\\\))?(.*?\..*$)?/.exec(path);
  35. return temp ? temp[2] : '';
  36. }
  37. }