【发布时间】:2021-10-11 16:39:22
【问题描述】:
这感觉像是一个愚蠢的问题,但我有一个字符串:
aaaa/bbb\/ccc
\/ 表示在路径组件名称中使用的转义分隔符。
所以,字符串代表两个路径分量aaaa和bbb/ccc
此字符串是基于从路径组件创建路径的需要而生成的,其中需要使用 / 作为组件之间的分隔符,并且 / 也可能出现在组件名称中。这就是在组件名称中出现 / 时需要转义的原因。
可能有两个或多个组件。
使用像(?:\\\/|[^\/])+ 这样的正则表达式接近我正在寻找的内容,但是在考虑字符串this/is\/a/\/str\\/ing 时,它无法将其拆分为组件this 和is\/a 和\/str\\ 和@987654332 @。
相反,最终组件被确定为\/str\\/ing。
我的问题是,当组件分隔符可以用于组件名称时,javascript 代码是什么样的,它允许我将路径拆分为路径组件?
在上面的示例中,我希望得到两个字符串 aaaa 和 bbb/ccc?
是否有处理此问题的标准函数,或者我是否需要使用正则表达式来帮助我拆分?
谢谢。
【问题讨论】:
-
只有两个组件吗?
-
可以有一个或多个组件。
-
这个字符串是基于从路径组件创建路径的需要而生成的,其中需要使用/作为组件之间的分隔符并且/也可能出现在组件名称中。我希望这已经足够好了。这就是在组件名称中出现 / 时需要转义的原因。它正在一个电子应用程序中使用,该应用程序也可能在浏览器中运行。
-
@pilchard 这些路径与文件名或 posix 路径无关。上下文不同。我同意,我希望做出另一个选择。
标签: javascript split path