Замена значения в строке

Тема в разделе "Регулярные выражения", создана пользователем Pashka Korchagin, 26 июл 2017.

Модераторы: xpert13
  1. Pashka Korchagin

    Pashka Korchagin Постоялец

    Регистр.:
    23 дек 2009
    Сообщения:
    110
    Симпатии:
    7
    Ребята, помогите сэкономить пару дней жизни)

    Нужно заменить значение в строке sql на другое из этой же строки. Пробовал через нотепад, но не могу сообразить с регуляркой на этот случай.

    пример:

    (10918, 'Старорусское ООО', '<p>Охотдачи, общество с ограниченной ответственностью "" в Тверской области. (значение 'Старорусское ООО' нужно подставить в кавычки "")
    (10919, 'Вепрь ООО', '<p>Охотдачи, общество с ограниченной ответственностью "" в Смоленской области. (значение 'Вепрь ООО' нужно подставить в кавычки "")
     
  2. Pashka Korchagin

    Pashka Korchagin Постоялец

    Регистр.:
    23 дек 2009
    Сообщения:
    110
    Симпатии:
    7
    Решил экселем, неужели при помощи регулярки так сложно?
     
  3. tetratec

    tetratec Создатель

    Регистр.:
    16 июл 2013
    Сообщения:
    12
    Симпатии:
    1
    , '.* ООО', ' -> <split48>$0<split48>
    <split48>, '
    -> , '"
    ', '<split48>
    -> "', '

    Проверено на SublimeText 3
     
    Последнее редактирование: 2 авг 2017
    Pashka Korchagin нравится это.
  4. creamel

    creamel Создатель

    Регистр.:
    16 фев 2007
    Сообщения:
    37
    Симпатии:
    4
    я вот смотрю на структуру и похоже что это записи из базы
    не проще ли сразу в базе делать изменения?
    UPDATE таблица SET поле = REPLACE(поле, ‘строка для замены’, ‘чем заменяем’);
    UPDATE content SET name = REPLACE(поле, ‘Старорусское ООО’, ‘Вепрь ООО’);

    и не нужно выкачивать и потом назад закачивать базу
     
  5. Pashka Korchagin

    Pashka Korchagin Постоялец

    Регистр.:
    23 дек 2009
    Сообщения:
    110
    Симпатии:
    7
    Хотелось бы решение для нотепад++, все равно спасибо!
    12к раз? Не понял ход Вашей мысли.
     
  6. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    214
    Симпатии:
    278
    Pashka Korchagin нравится это.
  7. creamel

    creamel Создатель

    Регистр.:
    16 фев 2007
    Сообщения:
    37
    Симпатии:
    4
    в смысле 12к раз?
    UPDATE content SET name = REPLACE(поле, ‘Старорусское ООО’, ‘Вепрь ООО’);
    по этой команде произойдет замена всех имен, где встречается Вепрь ООО на Старорусское ООО
     
  8. Pashka Korchagin

    Pashka Korchagin Постоялец

    Регистр.:
    23 дек 2009
    Сообщения:
    110
    Симпатии:
    7
    lag, спасибо! Хоть вопрос уже решен, но в закладочку обязательно)
    Не все так просто, подставлять нужно было из той же строки, строк 12к, больше даже. Значение уникально для каждой строки. Все решил при помощи экселя, но регуляркой быстрее было бы. Да не силен.. :ah: