javascript:从两个稍有不同的字符串获取规范化的
我有两个斜杠数相等的字符串,每个位置都有相同的字母。总有一个字母和一个方括号表示索引。两个字符串中始终有一个对应的字母javascript:从两个稍有不同的字符串获取规范化的,javascript,Javascript,我有两个斜杠数相等的字符串,每个位置都有相同的字母。总有一个字母和一个方括号表示索引。两个字符串中始终有一个对应的字母 var first = "/a/b[1]/c/d[3]/e[1]/f" var second = "/a/b[1]/c/d[4]/e/f" 我希望输出应该是 result = "/a/b[1]/c/d/e/f" 这就是我想到的,但也许有更好的方法,因为它返回的/a/b/c/d/e/f不是我想要的 var first=“/a/b[1]/c/d[3]/e[1]/f”。拆分(“/
var first = "/a/b[1]/c/d[3]/e[1]/f"
var second = "/a/b[1]/c/d[4]/e/f"
我希望输出应该是
result = "/a/b[1]/c/d/e/f"
这就是我想到的,但也许有更好的方法,因为它返回的/a/b/c/d/e/f
不是我想要的
var first=“/a/b[1]/c/d[3]/e[1]/f”。拆分(“/”;
var second=“/a/b[1]/c/d[4]/e/f”。拆分(“/”;
对于(变量i=0;i
我刚刚解决了这个问题。它是一个节点项目,但主文件依赖性较小,因此可移植
使用动态规划算法计算Levenshtein距离,并使用该变换生成正则表达式。子项变为通配符,插入或删除变为可选字符
var Levenshtein = require('levenshtein-transformation)';
var lev = new Levenshtein(str1, str2);
console.log(lev.regex());
我没有节点,我可以在浏览器中使用它吗?@user299709您可能可以使用browserify或其他任何东西。但是主文件Levenshtein.js没有我刚才所说的依赖性。您可以复制并粘贴它,它就会工作。我不能使用它,因为它似乎需要.js脚本中的其他节点模块
var regexpQuote=require('regexp-quote');var assert=require('assert')代码>如果有浏览器版本,这将非常好。
var Levenshtein = require('levenshtein-transformation)';
var lev = new Levenshtein(str1, str2);
console.log(lev.regex());