我有一個字符串列表(超過5000個計數)下面列出的示例,這些字符串由相等的「=」分隔符分隔,分隔符的左側是我需要檢查另一個字符串的結束的字符串,如果有匹配,那麼我需要用字符串的右側替換它。從Java中的另一個字符串列表中替換字符串的最後一個子字符串的最有效方法
,.LLC=LLC
D.E.F.=DEF
&,Aida.=AID
&ECho,MA=ECHO
例子:
- 如果字符串
HelloD.E.F.
比它應該由HELLO DEF
- 被替換如果字符串
Hello&ECho,MA
比它應該由HELLO ECHO
被替換需要找到最有效的方式來完成它。而不是遞歸地迭代所有的字符串。 (高效的消耗時間,內存消耗不成問題。)
我已經嘗試將這個存儲在Arraylist中,然後將它與字符串進行比較以完成它。 – Arpan
顯示你在你的問題中試過的代碼 – depperm
如果你想準確地匹配許多模式,Aho-Corasick算法可能是解決方案。或拉賓卡普。兩者都被設計用於同時匹配多個預處理模式。 – biziclop