java - 在Java中获取两个不同字符串之间的共同值

标签 java string oop object compare

我有两个字符串,我必须在这些字符串之间获得相同的值
这是怎么回事:

String tempPath = "TEB-MRI-SUD-KRT-THB-DU-PSG-BOI-RW";
String lewat = "DP-DPB-POC-UI-UP-LNA-TNT-PSM-DRN-CW-TEB-MRI-SUD-KRT-THB-DU-KPB";

我想获取这两个字符串之间的公共(public)值并将其放入另一个字符串变量中,如下所示

String passedPath = "TEB-MRI-SUD-KRT-THB-DU-";

变量passedPath是两个字符串的相同值,稍后将用于从tempPath中减去,这样我就可以获得一个新的、未访问过的路径,如下所示

tempPath = tempPath.replace(passedPath,"");
// tempPath will then valued as "PSG-BOI-RW"


所以问题是,如何从这两个字符串中获取 passedPath 值? 我尝试在 stackoverflow 中搜索此案例,但总是指向另一个字符串比较问题。

有人可以帮助我尝试实现这一目标吗?或者引导我提出与我的情况相同的问题? 谢谢你:)

*ps:字符串中的值(TEB、MRI、SUD 等)按原样排序,因此如果 tempPath 中出现相同的子字符串,则只会出现一次和lewat

最佳答案

似乎您需要实现一种算法来解决
“最长公共(public)子串”问题。

看这里,有很多很好的信息: http://en.wikipedia.org/wiki/Longest_common_substring_problem
另外,谷歌搜索这个“最长公共(public)子字符串”。

最简单的解决方案可能是动态编程方法。

关于java - 在Java中获取两个不同字符串之间的共同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22899028/

相关文章:

c - 在不使用函数指针的情况下替代在 C 中引用虚拟表。

javascript - 向 JavaScript 对象添加方法

java - 在用 Ant 编译的文件中找不到主类

java - 如何在父对象中同步(d)方法和修改对象的属性?

java - 如何使用 itextsharp 将长文本定位并换行到下一行?

c# - C#中使用字符串调用变量

php - 是不是可以调用这个stmt fetch语句呢?

java - 如何将 json 结果从一个 Activity 传递到另一个 Activity

javascript - JavaScript replace()方法美元符号

c# - 是否有 "String.Format"可以接受命名输入参数而不是索引占位符?