обработать синонимы

Тема в разделе "Регулярные выражения", создана пользователем wm-arc, 18 янв 2010.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. wm-arc

    wm-arc

    Регистр.:
    14 сен 2007
    Сообщения:
    285
    Симпатии:
    280
    aromatic, fragrant, spicy, perfumed, savoury, pungent
    на
    aromatic; fragrant, spicy, perfumed, savoury, pungent
     
  2. Ewsen

    Ewsen

    Регистр.:
    26 июл 2008
    Сообщения:
    163
    Симпатии:
    59
    С помощью регекспов ничего не приходит на ум.
    Но если надо переконвертить так базу, то можно:
    Переименуй в формат *.csv
    Открой в Екселе (должен быть настроен разделитель запятая)
    Добавь столбец между первым и вторым и заполни ";" и сохрани
    В нотпад++ замени ,;, на ;
     
    wm-arc нравится это.
  3. aurek

    aurek Писатель

    Регистр.:
    8 май 2008
    Сообщения:
    7
    Симпатии:
    1
    а словарь синонимов есть? без словаря никак...
     
  4. wm-arc

    wm-arc

    Регистр.:
    14 сен 2007
    Сообщения:
    285
    Симпатии:
    280
    Ewsen
    я попробовал твой вариант, вроде работет, но есть ньюансы, excel добивает в каждый пустой столбец ; получается как то так
    почистил и остался знак после последнего слова
    вот его бы еще убрать
    aurek
    что значит словарь ?
     
  5. Ewsen

    Ewsen

    Регистр.:
    26 июл 2008
    Сообщения:
    163
    Симпатии:
    59
    Надо было вначале настроить разделителем запятую в региональных параметрах, чтобы ексель принял формат твоей базы. А почторения, если количество слов в строках не одинаковое, потом легко убрать с помощью поиска и замены.
    Запятую на конце можно искать с помощью \n
     
  6. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.065
    Симпатии:
    197
    бред!

    ТС читайте про функцию str_replace

    пишите небольшой скриптик котоырм открываете файил меняете все что нужно и опять записываете в этот же фаил или в новый.

    подробное описание функции http://www.php.su/functions/?str_replace
     
  7. RolCom

    RolCom

    Регистр.:
    12 мар 2008
    Сообщения:
    351
    Симпатии:
    108
    Элементарно.
    Код:
    s/,/;/
    
     
  8. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    RolCom, не очень понял твой регексп.

    Как вариант:
    Код:
    ^(\w+),
    на
    Код:
    $1;
     
  9. RolCom

    RolCom

    Регистр.:
    12 мар 2008
    Сообщения:
    351
    Симпатии:
    108
    Не нужно выдумывать сложности там, где их нет:). Perl оператор s/,/;/ заменит первую запятую на точку с запятой.
    Говоря твоим способом
    Код:
    ,
    На
    Код:
    ;
     
Статус темы:
Закрыта.