Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / найти скобку в тексте и удалить все что между ними / 7 сообщений из 7, страница 1 из 1
24.08.2009, 16:36
    #36160191
HANK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
найти скобку в тексте и удалить все что между ними
привет всем!
вопрос может и дурацкий но

select substr(alltrim(field1),at('(',alltrim(field1)),3) from table

по идеи должен выдавать строковое выражение длинной 3 символа если нашел открывающуюся круглую скобку, но он не делает так( пробелы добавляет..
если взять другой символ например букву А то все ок
подскажите где рыть?*
...
Рейтинг: 0 / 0
24.08.2009, 16:53
    #36160220
Tohan_ORA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
найти скобку в тексте и удалить все что между ними
HANK
Re: найти скобку в тексте и удалить все что между ними

Между скобкой и чем? В смысле вырезать часть?
Код: plaintext
1.
2.
'abcd(677588'->='677'
или
'abcd(677588'->='abcd(588'
...
Рейтинг: 0 / 0
24.08.2009, 17:01
    #36160239
HANK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
найти скобку в тексте и удалить все что между ними
текст 'abcd(677588)efg' - это куча записей таких но везде разные слова

хочу получить 'abcdefg' - без скобок и все что меж ними..

а селект показан для теста, и он выбирает 3 символа вместе со скобкой и заменяет пробел
согласну селекту из примера выходит?
'abcd(677588)efg' - > '( '
...
Рейтинг: 0 / 0
24.08.2009, 17:12
    #36160256
Tohan_ORA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
найти скобку в тексте и удалить все что между ними
HANKтекст 'abcd(677588)efg' - это куча записей таких но везде разные слова

хочу получить 'abcdefg' - без скобок и все что меж ними..


Копай в сторону stuff,вот пример:
Код: plaintext
1.
2.
CREATE CURSOR cr(st c( 20 ))
INSERT INTO cr values('abcd(677588)efg')
INSERT INTO cr values('975(7588) fg')
Код: plaintext
SELECT  st,STUFF(st,AT('(',st), 1 +AT(')',st)-AT('(',st),'') from cr
...
Рейтинг: 0 / 0
24.08.2009, 17:42
    #36160298
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
найти скобку в тексте и удалить все что между ними
Код: plaintext
select GetWordNum(field1, 1 ,"(") + GetWordNum(field1, 2 ,")") from table
...
Рейтинг: 0 / 0
24.08.2009, 17:48
    #36160308
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
найти скобку в тексте и удалить все что между ними
Кстати, какой-бы способ вы не выбрали, выражение надо обязательно в явном виде либо дополнить концевыми пробелами до некоторой фиксированной величины PADR(...,20), либо использовать CAST() для явного указания размерности. В противном случае, размерность полученного поля будет равна размерности первого вычисленного выражения. Если там ничего не оказалось, то размерность будет C(1).
...
Рейтинг: 0 / 0
25.08.2009, 14:46
    #36161853
HANK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
найти скобку в тексте и удалить все что между ними
спасибо - стафф отлично сработаЛ!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / найти скобку в тексте и удалить все что между ними / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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