Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算一个字符串上的更新、插入和删除次数以到达另一个字符串_Java_Regex_String - Fatal编程技术网

Java 计算一个字符串上的更新、插入和删除次数以到达另一个字符串

Java 计算一个字符串上的更新、插入和删除次数以到达另一个字符串,java,regex,string,Java,Regex,String,我有2个用户输入字符串,我需要检查需要对第一个字符串执行的操作数,以生成第二个字符串 例如: 第1条:早上好 第二条:带来 操作次数=3 说明:M和n被移除(2次操作),o被替换为B(1次操作) 总共3次行动,将“上午”转换为“带来” e、 g: 字符串1:转换 第2条:联系方式 操作=3 说明:第一个字符串中的字母v、e、r转换为字母“t”、“a”、“c” 注意:它不应该从字符串1中删除已经在字符串2中的元素来检查位置,如示例1所示,“晨”中的r保持不变,即使位置值与第二个字符串“带”不同 我

我有2个用户输入字符串,我需要检查需要对第一个字符串执行的操作数,以生成第二个字符串 例如: 第1条:早上好 第二条:带来

操作次数=3 说明:M和n被移除(2次操作),o被替换为B(1次操作) 总共3次行动,将“上午”转换为“带来”

e、 g: 字符串1:转换 第2条:联系方式 操作=3 说明:第一个字符串中的字母v、e、r转换为字母“t”、“a”、“c”

注意:它不应该从字符串1中删除已经在字符串2中的元素来检查位置,如示例1所示,“晨”中的r保持不变,即使位置值与第二个字符串“带”不同


我尝试将其转换为字符数组并添加空索引以匹配字符,但由于位置索引,它无法工作

您所描述的称为

有一个名为的库,你可以用它来为你做这件事

int ops = new LevenshteinDistance().apply(string1, string2)

这里是

操作?它们是什么?这个问题还不太清楚。虽然你可能在寻找“编辑距离”,你可以考虑更好地格式化这个问题,以便于阅读。否则问题就没那么糟了。你能告诉我遗漏了什么细节吗?首先我确实指出你没有解释手术的意义。看起来真的很有帮助。虽然我现在不使用Apache。尝试使用import jdk.internal.org.jline.utils.Levenshtein包,但遇到一些编译错误。“包jdk.internal.org.jline.utils在模块jdk.internal.le中声明,模块jdk.internal.le不会将其导出到未命名的模块”。导入软件包时似乎出现了一些文件扩展名问题。但是非常感谢您的回答。我可以从软件包中得到的Algo肯定会help@Pritam如果你觉得这个答案有用的话,考虑一下这个答案。