Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.01.2012, 22:21
Stasonix Stasonix вне форума
Прохожий
 
Регистрация: 24.08.2011
Сообщения: 28
Репутация: 10
По умолчанию Одна небольшая регулярка, напр. слово 24.-aurum , как разгрупировать?

В общем есть много таких слов, которые начинаются не символами, а допустим как я уже приводил пример 33.-test, так вот как разгруппировать (33.-)(test), вот так, т.е. то что идет до слова test нужно как-бы не считать, а это ЛЮБЫЕ СИМВОЛЫ, которые не являются буквой, они мне не нужны вообще, мне главное само слово занести в переменную, в принципе каждое слово это начало новой строки, т.е. вот так примерно может быть:
23.-Word1 Tozhe Nado
-Drugoe Slowo
_tretje slowo
$%6FOUR
1Пять
"шесть
.. и т.п. (то что нужно выбрать я обозначил зеленым)

Всю возню с делфийскими RegExpr я беру на себя, т.е. мне нужна только регулярка, спасибо.
Ответить с цитированием
  #2  
Старый 17.01.2012, 23:07
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
function ClearStringAll(AStr : String) : String;
var
  I : Integer;
begin
  Result := '';
  For I := 1 To Length(AStr) Do
    If AStr[i] In ['A'..'Z','a'..'z',' '] Then Result := Result + AStr[i];
end;

function ClearStringHead(AStr : String) : String;
var
  I : Integer;
begin
  Result := '';
  For I := 1 To Length(AStr) Do
    If AStr[i] In ['A'..'Z','a'..'z',' '] Then 
      Begin
         Result := Copy(AStr,I,Length(AStr));
         Break;
      End;
end;

ClearStringAll - очищает всю строку
ClearStringHead - очищает только начало строки, все с первой буквы остается.
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
Stasonix (17.01.2012)
  #3  
Старый 17.01.2012, 23:18
Stasonix Stasonix вне форума
Прохожий
 
Регистрация: 24.08.2011
Сообщения: 28
Репутация: 10
По умолчанию

а с кириллическими символами данная функция справится?
Я так понял тогда так:
+еще я тут подумал что не плохо было бы и зна тире на всякий случай оставить -
Код:
['A'..'Z','a'..'z','а'..'я','А'..'Я','-',' ']
так?
Ответить с цитированием
  #4  
Старый 18.01.2012, 09:36
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

В кодировке Win1251 буквы ё, Ё не попадают в диапазон, так что их надо добавить отдельно: [..., 'Ё', 'ё']
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:57.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025