我有这些字符串,它们是文件和文件夹的地址:
我想使用javascript进行比较 - 可能是jquery - 看看例如字符串1是否有字符串2的部分,但更多的是说字符串1是字符串2的子句。
我该怎么做?
答案 0 :(得分:2)
你可以尝试类似下面的内容
var path1 = "../../../folder1/";
var path2 = "../../../folder1/sub1/sub12/";
if (path2.indexOf(path1) != -1){
//path2 is a sub of path 1
}
答案 1 :(得分:0)
您可以使用indexOf
方法查找一个字符串是否是另一个字符串的一部分。
indexOf()方法返回第一次出现的位置 字符串中的指定值。
如果要搜索的值永远不会发生,则此方法返回-1。
var test = "../folder/subfolder1";
var test2 = "../folder";
if (test.indexOf(test2) !=-1) {
alert(test + " is a subfolder of " + test2);
}
答案 2 :(得分:0)
if(string1.indexOf(string2) != -1){
//string2 is present in string1
}
else{
//string2 is not present in string1
}
答案 3 :(得分:0)
如果您的字符串也包含绝对路径或包含..
的路径,不仅在开头我建议检查.indexOf
是否返回0
而不是-1
}}
它可以帮助解决像。
这样的问题var path1 = "/rootFolder/";
var path2 = "../folder/rootFolder/";
if (path2.indexOf(path1) === 0) {
console.log("You want this"); // won't get executed => good
}
if (path2.indexOf(path1) !=-1) {
console.log("You don't want this"); // will get executed => bad
}