簡體   English   中英

在Java中獲取兩個不同字符串之間的公共值

[英]Getting common value between two different string in Java

我有兩個字符串,我必須在這些字符串之間獲得相同的值
它是怎么回事:

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"


所以問題是,如何從這兩個字符串中獲取passPath值? 我已經嘗試在stackoverflow中搜索這個案例,但總是針對另一個字符串比較問題。

任何人都可以幫助我嘗試實現這一目標嗎? 或者引導我提出與我的案件相同的問題? 謝謝 :)

* PS:在字符串(TEB,MRI,SUD等)的值是有序的,因為它是,所以如果在TEMPPATHlewat相同字符串的任何occurence會有只有一個occurence

似乎你需要實現一個算法來解決問題
“最常見的子串”問題。

看到這里,有很多很好的信息: http//en.wikipedia.org/wiki/Longest_common_substring_problem
此外,谷歌這個“最長的共同子串”

最簡單的解決方案可能是動態編程方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM