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

时间:2014-04-06 19:41:53

标签: 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";

我想获得这两个字符串之间的公共值,并将其转换为另一个字符串变量,如此

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

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

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


问题是,如何从这两个字符串中获取传递路径值? 我已经尝试在stackoverflow中搜索这个案例,但总是针对另一个字符串比较问题。

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

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

1 个答案:

答案 0 :(得分:2)

似乎你需要实现一个算法来解决问题 &#34;最长的共同子串&#34;问题

看到这里,有很多好消息: http://en.wikipedia.org/wiki/Longest_common_substring_problem
此外,谷歌这个&#34;最长的共同子串&#34;

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