Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Можно ли очистить текст? / 9 сообщений из 9, страница 1 из 1
18.05.2014, 20:40:45
    #38644638
sunshi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли очистить текст?
таблица с id, text и пр.
нужно очистить текст от всех символов и пробелов, кроме букв.
пока рабочий, но крайне нудный и требующий подстановки для каждого символа, вариант:
Код: sql
1.
UPDATE  `table` SET  `text` = REPLACE(  `text` ,  ' ',  '' )


как можно объединить запрос, чтобы скопом убрать .,:; !? и т.д.?
...
Рейтинг: 0 / 0
19.05.2014, 09:33:33
    #38644832
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли очистить текст?
sunshi,

в мускуле регулярки только для поиска, для замены нет. Сделайте на php к примеру.
...
Рейтинг: 0 / 0
19.05.2014, 09:46:39
    #38644849
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли очистить текст?
sunshiтаблица с id, text и пр.
нужно очистить текст от всех символов и пробелов, кроме букв.
пока рабочий, но крайне нудный и требующий подстановки для каждого символа, вариант:
Код: sql
1.
UPDATE  `table` SET  `text` = REPLACE(  `text` ,  ' ',  '' )


как можно объединить запрос, чтобы скопом убрать .,:; !? и т.д.?легко и непринужденно
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
UPDATE  `table` SET  `text` = REPLACE(  `text` ,  ' ',  '' );
UPDATE  `table` SET  `text` = REPLACE(  `text` ,  '.',  '' );
UPDATE  `table` SET  `text` = REPLACE(  `text` ,  ',',  '' );
UPDATE  `table` SET  `text` = REPLACE(  `text` ,  ';',  '' );
UPDATE  `table` SET  `text` = REPLACE(  `text` ,  ':',  '' );
UPDATE  `table` SET  `text` = REPLACE(  `text` ,  '!',  '' );
UPDATE  `table` SET  `text` = REPLACE(  `text` ,  '?',  '' );
-- и т.д.
...
Рейтинг: 0 / 0
19.05.2014, 09:50:36
    #38644853
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли очистить текст?
как вариант,
Код: sql
1.
2.
3.
4.
UPDATE  `table` SET  `text` = 
  REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(  
    `text` 
  ,  '?',  '' ),  ' ',  '' ),  '.',  '' ),  ',',  '' ),  ';',  '' ),  ':',  '' ),  '!',  '' );
...
Рейтинг: 0 / 0
19.05.2014, 10:08:48
    #38644863
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли очистить текст?
При большом или неопределенном количестве мусорных символов, наверное, уже выгоднее свою функцию написать, чтобы за один проход по строке работать. За образец можно взять оракловую функцию TRANSLATE().
...
Рейтинг: 0 / 0
20.05.2014, 02:42:17
    #38645838
sunshi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли очистить текст?
при добавлении в таблицу текст обрабатывается на php, вопрос касался именно уже имеющихся данных таблицы...
последний вариант - похоже то, что нужно. спасибо.
...
Рейтинг: 0 / 0
20.05.2014, 08:48:08
    #38645882
Mr.Fontaine
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли очистить текст?
sunshiпри добавлении в таблицу текст обрабатывается на php, вопрос касался именно уже имеющихся данных таблицы...
последний вариант - похоже то, что нужно. спасибо.
последний вариант не слишком читаем, по-моему. Первый однако в этом плане намного лучше :-)
...
Рейтинг: 0 / 0
20.05.2014, 17:58:29
    #38646840
sunshi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли очистить текст?
мне совершенно не хватает знаний, поэтому я никак не могу решить как лучше и правильно сделать, постоянно пробую варианты - сейчас, при очистке в запросе, одной строкой удобнее...

вот кстати, может быть подскажете как лучше реализовать при следующих условиях:

очистка текста нужна для последующего поиска дублей, использоваться будет относительно редко: в большей степени при администрировании данных (здесь не важна скорость - в разумных пределах) + при добавлении текста через форму сайта (скорость в приоритете).

стоит ли делать дополнительную таблицу с полем для хранения очищенного текста и впоследствии искать дубли по нему или оставить одно поле "текст" и на лету очищать и сравнивать? при условии, что сервер не очень хочется нагружать...
...
Рейтинг: 0 / 0
21.05.2014, 00:17:52
    #38647103
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли очистить текст?
конечно доп поле, тут и думать нечего
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Можно ли очистить текст? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]