2015-07-12 4 views
1

Я программирования бота в Java с HtmlUnit, который получает данные (название и цену) с двух разных сайтов электронной коммерции, A и B.Сравнение двух элементов на основе их имен

После того, как я собрал все предметы в файле csv (name; price), я пытаюсь сравнить их , чтобы узнать, какие товары одинаковы.

Редко имя элемента A равно имени элемента B, но часто они имеют некоторые сходства, такие как название модели или название бренда.

У кого-то есть идея или есть механизм для сравнения этих предметов и знать, являются ли они одним и тем же предметом?

Edit:

По крайней мере, есть 82000 Itema и 2000 itemB, и мне нужен инъективная функция, которая присваивает его.

itemA состоит из: фирменного наименования и названия моделей. (Структура -> Хорошо).

itemB состоит из: Описательный текст с фирменным наименованием и названием модели внутри, без какой-либо структуры.

ответ

1

Почему бы вам не использовать String equals() Method. Этот метод сравнивает эту строку с указанным объектом. Результат является истинным тогда и только тогда, когда аргумент не является нулевым и является объектом String, который представляет ту же последовательность символов, что и этот объект. Ниже приведен пример рабочего кода:

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, если строка равна; false в противном случае.

+0

Редко ItemA.name.equals (ItemB.name), но у них есть общие регионы (например, номер модели или название бренда). Я разделил элемент B в словах и использовал функцию .equals() для сравнения каждого слова с A.modelName, но во многих случаях он терпит неудачу. –

+0

@ ismael-gandarillas Не могли бы вы разместить свой код, это предоставит мне лучшее представление о вашей проблеме, что приведет к лучшему решению. –

Смежные вопросы