如何比较路径是否在同一文件夹中



我想比较天气输入路径是否在同一文件夹中

问题:输入路径是否在同一文件夹中?

假设我当前的路径是f://learning/java

现在我在名为java的文件夹中,path直接属于java,我的函数应该返回true

假设我有这么多路径:

  1. f://learning/java/first/
  2. f://learning/java/1.java
  3. f://learning/java/machine/learning错误
  4. f://learning/java/a/b错误
  5. f://learning/java/
  6. f://learning/f错误

我已经尝试过,如下所示:

function pathDirectlyBelongsToSameFoler(currentPath, incomingPath) {
if (currentPath == incomingPath) return true;
// other comparision code i don't know
}
var currentPath = 'f://learning/java';
console.log(pathDirectlyBelongsToSameFoler(currentPath, 'f://learning/java/first'));
console.log(pathDirectlyBelongsToSameFoler(currentPath, 'f://learning/java/1.java'));
console.log(pathDirectlyBelongsToSameFoler(currentPath, 'f://learning/java/machine/learning'));
console.log(pathDirectlyBelongsToSameFoler(currentPath, 'f://learning/java/a/b'));
console.log(pathDirectlyBelongsToSameFoler(currentPath, 'f://learning/java/'));
console.log(pathDirectlyBelongsToSameFoler(currentPath, 'f://learning/f'));

您可以构建一个动态正则表达式并针对传入路径进行测试

function pathTester(currentPath, incomingPath) {
if(incomingPath == currentPath) return true
currentPath += currentPath.endsWith('/') ? '' : '/'
let reg = new RegExp(String.raw `^${currentPath}[^/]*/?$`)
return reg.test(incomingPath)
}
var currentPath = 'f://learning/java';
console.log(pathTester(currentPath, 'f://learning/java/first'));
console.log(pathTester(currentPath, 'f://learning/java/1.java'));
console.log(pathTester(currentPath, 'f://learning/java/machine/learning'));
console.log(pathTester(currentPath, 'f://learning/java/a/b'));
console.log(pathTester(currentPath, 'f://learning/java/'));
console.log(pathTester(currentPath, 'f://learning/f'));

最新更新