【问题标题】:Getting common value between two different string in Java在Java中获取两个不同字符串之间的共同值
【发布时间】:2014-04-06 19:41:52
【问题描述】:

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

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 中减去,这样我就可以得到一个新的、未访问过的路径

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


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

任何人都可以帮助我尝试实现这一目标吗?或引导我回答与我的情况相同的问题? 谢谢你:)

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

【问题讨论】:

    标签: java string oop object compare


    【解决方案1】:

    看来你需要实现一个算法来解决
    “最长公共子串”问题。

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

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

    【讨论】:

    • 这正是我解决问题所需要的!我以为java中有一个函数可以做到这一点,但实际上我们必须使用这个算法..非常感谢您的帮助先生!我会将此标记为答案:)
    猜你喜欢
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2012-02-11
    相关资源
    最近更新 更多