2015-07-12 57 views
1

我編程在Java中有一個的HtmlUnit機器人,一旦我收集了所有項目從兩個不同的電子商務網站,A和B.比較基於他們的名字兩個項目

獲取數據(名稱和價格)在一個csv文件(名稱;價格)我試圖比較他們知道哪些項目是相同的。很少有A商品的名稱等於B商品的名稱,但通常它們有一些相似之處,例如型號名稱或品牌名稱。

有人有一個想法或知道一種機制來比較這些項目,並知道他們是否是相同的項目?

編輯:

至少有82,000個意達2000 itemB,我需要的是給它分配一個射功能。

itemA由品牌名稱和型號名稱組成。 (結構 - >好)。

itemB由以下內容組成:描述性文字,裏面帶有品牌名稱和型號名稱,沒有任何結構。

回答

1

爲什麼不使用String equals() Method。此方法將此字符串與指定的對象進行比較。當且僅當參數不爲null並且是表示與此對象相同字符序列的String對象時,結果爲true。以下是工作代碼示例:

String Str1 = new String("This is really not immutable!!"); 
    String Str2 = Str1; 
    String Str3 = new String("This is really not immutable!!"); 
    boolean retVal; 

    retVal = Str1.equals(Str2); 
    System.out.println("Returned Value = " + retVal); 

    retVal = Str1.equals(Str3); 
    System.out.println("Returned Value = " + retVal); 

如果字符串相等,則此方法返回true;否則爲假。

+0

很少ItemA.name.equals(ItemB.name),但他們有共同的區域(如型號或品牌名稱)。 我用單詞拆分項目B並使用.equals()函數將每個單詞與A.modelName進行比較,但在許多情況下失敗。 –

+0

@ ismael-gandarillas你可以發佈你的代碼,這將爲我提供更好的你的問題的想法,導致更好的解決方案。 –