我有两个字符串,我必须在这些字符串之间获得相同的值
这是怎么回事:
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/