BD_*_*ign 1 javascript relative-path filepath
使用Javascript如何从相对路径中删除任何数量的"../"?
例如:
Before - '../../../folder1/folder2/my-file.php'
After - 'folder1/folder2/my-file.php'
Before - '../folder1/my-file.php'
After - 'folder1/my-file.php'
Run Code Online (Sandbox Code Playgroud)
我在这里和谷歌搜索了多个关键词,似乎找不到基于Javascript的解决方案,大多数是PHP,这不是我需要的.另外,如果可能的话,我想避免使用正则表达式解决方案.
任何帮助将不胜感激,谢谢!
另外,如果可能的话,我想避免使用正则表达式解决方案.
在JavaScript中,正则表达式可能是执行此操作的最佳方式; 但你可以用循环代替它:
var str = "../../../folder1/folder2/my-file.php";
var result = str;
while (result.substring(0, 3) === "../") {
result = result.substring(3);
}
Run Code Online (Sandbox Code Playgroud)
使用正则表达式String#replace:
var str = "../../../folder1/folder2/my-file.php";
var result = str.replace(/^(?:\.\.\/)+/, "");
Run Code Online (Sandbox Code Playgroud)
该正则表达式表示:匹配字符串(^)的开头,然后匹配一个或多../个子字符串,并用""(例如,没有)替换它们.你需要的反斜杠在那里,因为两者.并/在正则表达式字面特殊字符,但我们希望他们实际上是.和/你的字串.该(?:___)构造将这三个字符组合在一起而不形成捕获组.
| 归档时间: |
|
| 查看次数: |
5043 次 |
| 最近记录: |