Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / поиск слова в поле / 14 сообщений из 14, страница 1 из 1
16.07.2008, 07:33
    #35432592
noobb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
День добрый!
такая проблемка в поле city есть такие значения:

Код: plaintext
1.
2.
3.
Москва
Москава
Москв
...

как программно объяснить лисе, что все что если в поле есть значение "Моск" то обновиться все поля значением "Москва" ?

Благодарю
...
Рейтинг: 0 / 0
16.07.2008, 07:41
    #35432599
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
noobbДень добрый!
такая проблемка в поле city есть такие значения:

Код: plaintext
1.
2.
3.
Москва
Москава
Москв
...

как программно объяснить лисе, что все что если в поле есть значение "Моск" то обновиться все поля значением "Москва" ?

Благодарю
Если именно такая постановка задачи, то что-нибудь типа:
REPLACE ALL City WITH "Москва" FOR "МОСК"$UPPER(City)
...
Рейтинг: 0 / 0
16.07.2008, 08:12
    #35432626
noobb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
Приветствую, Kruchinin Pahan.
я немного не так объяснил
в поле city значения примерно такого вида

Код: plaintext
 125047 , г. Москва, , ул. пер.Дегтярный,  4 - 1  

и надо чтоб искало значение "МОСК" в строке, если нахрдит то заменить всю строку на "Москва"
...
Рейтинг: 0 / 0
16.07.2008, 08:22
    #35432639
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
noobbПриветствую, Kruchinin Pahan.
я немного не так объяснил
в поле city значения примерно такого вида

Код: plaintext
 125047 , г. Москва, , ул. пер.Дегтярный,  4 - 1  

и надо чтоб искало значение "МОСК" в строке, если нахрдит то заменить всю строку на "Москва"
А если там будет Новомосковск тоже менять? Или Москвитино?
...
Рейтинг: 0 / 0
16.07.2008, 08:24
    #35432643
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
И еще вопрос в догонку: заменять только сочетание Моск или все слово?
...
Рейтинг: 0 / 0
16.07.2008, 08:28
    #35432653
noobb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
А если там будет Новомосковск тоже менять? Или Москвитино?

Округлим до Москвы ничего страшного=)

И еще вопрос в догонку: заменять только сочетание Моск или все слово?

если встречается в строке слово "МОСК" то всю строку
Код: plaintext
 125047 , г. Москва, , ул. пер.Дегтярный,  4 - 1  
заменить на
Код: plaintext
Москва
...
Рейтинг: 0 / 0
16.07.2008, 08:33
    #35432661
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
noobb А если там будет Новомосковск тоже менять? Или Москвитино?

Округлим до Москвы ничего страшного=)

Очень интересно. Мосвитино в общем-то, находится очеь далеко от Москвы и к ней не имеет никакого отношения. Все равно менять?
...
Рейтинг: 0 / 0
16.07.2008, 08:40
    #35432667
noobb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
Sergey Sizov, заставляешь задуматься...=)
а такое реализовать возможно:
-искать в каждой строчке поля city слово, которое идет после символа "г." и заносить его в поле city1?
во как.
...
Рейтинг: 0 / 0
16.07.2008, 09:32
    #35432724
GoshaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
структура как я понимаю одинаковая:
индекс, город, район, улица, дом
ну тогда можешь смотреть по запятым.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
if OCCURS(',' city)= 4 
  *правильная структура файла
   city='111111,г. Москва, ,ул. Мояковского,3-3'
   ? Left(city,at(',',city, 1 )- 1 )&&индекс
   ? SUBSTR(city, at(',',city, 1 )+ 1 , at(',',city, 2 )-at(',',city, 1 )- 1 ) &&Горд
   ? SUBSTR(city, at(',',city, 2 )+ 1 , at(',',city, 3 )-at(',',city, 2 )- 1 ) &&Район
   ? SUBSTR(city, at(',',city, 3 )+ 1 , at(',',city, 4 )-at(',',city, 3 )- 1 ) &&Улица
   ? Right(city,len(city)-at(',',city, 4 ))&&дом-корпус
else
   messagebox('Неверная структура файла')
endif 
А дальше уже сам, как тебе удобней, прямо тут и менять, обратно строку склеить и закинуть в таблциу, либо в курсор скинуть, все отдельно с ключевым полем таблицы и там смотреть/править по измененным полям сделать update таблицы исходника.
...
Рейтинг: 0 / 0
16.07.2008, 09:37
    #35432736
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
noobbSergey Sizov, заставляешь задуматься...=)
а такое реализовать возможно:
-искать в каждой строчке поля city слово, которое идет после символа "г." и заносить его в поле city1?
во как.
Репрокод:
Код: plaintext
1.
2.
3.
4.
5.
6.
SCAN
	lnStartPos = AT("г. ", City)
	IF lnStartPos >  0 
		REPLACE City1 WITH GETWORDNUM(LTRIM(SUBSTR(City, lnStartPos +  3 )),  1 , " ")
	ENDIF
ENDSCAN
Хотя, чаще всего, парсинг таких вещей на порядок сложнее.
...
Рейтинг: 0 / 0
16.07.2008, 09:42
    #35432746
GoshaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
Код: plaintext
1.
GETWORDNUM(LTRIM(SUBSTR(City, lnStartPos +  3 )),  1 , " ")
Не пойдет, если название города из двух слов.
...
Рейтинг: 0 / 0
16.07.2008, 10:08
    #35432808
GoshaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
у нас все разнесено отдельно в базе, но все равно, правили все ручками, скажем так:
Код: plaintext
1.
2.
3.
4.
select town, count(*) 
from klient 
where town<>'Москва' and town licke '%моск%'
order by  2 
потом смотриш, действительно ли это очепятка, если попадают другие города, тогда условие сужаешь, а потом уже DML запрос
Код: plaintext
1.
2.
update klient set town='Москва'
where town<>'Москва' and town licke '%моск%'
И т.д., вот таким извратом занимался.
...
Рейтинг: 0 / 0
16.07.2008, 16:51
    #35434483
noobb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
Всем спасибо! буду искать оптимальный вариант!
...
Рейтинг: 0 / 0
16.07.2008, 17:17
    #35434604
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск слова в поле
noobbДень добрый!
такая проблемка в поле city есть такие значения:

Код: plaintext
1.
2.
3.
Москва
Москава
Москв
...

как программно объяснить лисе, что все что если в поле есть значение "Моск" то обновиться все поля значением "Москва" ?

Благодарю

Наверно задача Москвой не ограничивается? Тут думаю тебе надо строить список городов (или взять готовый где-нибудь), а затем при несовпадении искать наиболее похожее. И таблицу автозамен хранить.

Тут обсуждали способы решения подобных задач.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / поиск слова в поле / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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