gpt4 book ai didi

javascript - 重写Javascript路径字符串

转载 作者:行者123 更新时间:2023-11-28 11:27:15 29 4
gpt4 key购买 nike

在 Javascript 中,我有一个路径字符串,如下所示:

/xxx:Level1/yyy:Level2/xxx:Level3/ccc:Level4

每个级别可能有也可能没有前缀。我需要创建一个新字符串来消除每个文件夹级别的前缀,例如:

/Level1/Level2/Level3/Level4

好的。我做了类似以下的事情,但我认为也许使用正则表达式可以使其更加紧凑。我怎样才能做到这一点?

var aa = "/xxx:Level1/yyy:Level2/xxx:Level3/ccc:Level4"

var bb = aa.split("/").filter(String);
var reconstructed = "";

for( var index in bb )
{
var dirNames = bb[index].split(":");
if(dirNames.length==1) reconstructed += "/" + dirNames[0];
else if(dirNames.length==2) reconstructed += "/" + dirNames[1];
}

最佳答案

您可以像这样使用正则表达式:

var str = "/xxx:Level1/yyy:Level2/xxx:Level3/ccc:Level4";
var out = str.replace(/\/[^:\/]+:/g, "/");
alert(out);

这匹配:

/
followed by one or more characters that is not a : or a /
followed by a :
and replaces all that with a / effectively eliminating the xxx:

此处演示:http://jsfiddle.net/jfriend00/hbUkz/

关于javascript - 重写Javascript路径字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7504248/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com