Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
#1

Распарсить строку - Delphi

01.09.2015, 13:55. Просмотров 720. Ответов 5
Метки нет (Все метки)

Есть строка вида: 12.1.555

Как мне получить такие переменные:
str1 = 12
str2 = 1
str3 = 555

p.s: размер чисел может меняться. например 32.84.2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.09.2015, 13:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Распарсить строку (Delphi):

Распарсить строку
Всем привет. Есть массив, состоящий из строк, удовлетворяющих маску...

Распарсить Json строку
есть строчка помогите распарсить ее ( составьте регулярку) или дайте линку...

Распарсить строку Regexpr
Ребят есть строка вида <p>Платье <strong>"Мускат"<br />цвет:</strong>...

Распарсить строку заданного типа
Приведу простой пример, чтобы задача была яснее. Хочу автоматизировать свою...

Распарсить строку в отдельные Listbox
при подключении к серверу вот такие данные появляются в логе NickName...

Аналог explode или как еще распарсить строку
Подскажите, есть ли в дельфи аналог php-функции explode? После запроса мне...

5
northener
пофигист широкого профиля
3251 / 2303 / 628
Регистрация: 15.07.2013
Сообщений: 13,585
01.09.2015, 13:58 #2
Разбиение строки по заданному символу
0
Puporev
Модератор
54124 / 41757 / 28869
Регистрация: 18.05.2008
Сообщений: 98,280
01.09.2015, 14:43 #3
Лучший ответ Сообщение было отмечено EEjester как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
    t:Tstringlist;
begin
s:='125.23.5896.25';
t:=TStringlist.Create;
t.Delimiter:='.';
t.DelimitedText:=s;
end;
t[0]=125; t[1]=23; t[2]=5896; t[3]=25
1
krapotkin
3294 / 2934 / 1015
Регистрация: 14.04.2014
Сообщений: 14,250
Записей в блоге: 13
01.09.2015, 14:57 #4
Delphi
1
2
3
4
5
6
7
8
9
var a:TArray<string>;
  s:string;
  i:integer;
begin
  s:='12.24.57';  
  a:=s.split(['.']);
  for i:=low(a) to high(a) do
   memo1.lines.add(a[i]);
end;
1
Puporev
Модератор
54124 / 41757 / 28869
Регистрация: 18.05.2008
Сообщений: 98,280
01.09.2015, 15:09 #5
Лучший ответ Сообщение было отмечено EEjester как решение

Решение

Цитата Сообщение от EEjester Посмотреть сообщение
Как мне получить такие переменные:
str1 = 12
str2 = 1
str3 = 555
Если чисел всегда 3 и нужно получить их значения в переменные, то можно так.
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
    str1,str2,str3:integer;
begin
s:='12.1.555';
str1:=strtoint(copy(s,1,pos('.',s)-1));
delete(s,1,pos('.',s));
str2:=strtoint(copy(s,1,pos('.',s)-1));
delete(s,1,pos('.',s));
str3:=strtoint(s);
end;
1
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
02.09.2015, 06:39  [ТС] #6
Спасибо всем огромное!!
0
02.09.2015, 06:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2015, 06:39
Привет! Вот еще темы с решениями:

Распарсить текст и получить строку, которая находится между одинаковых тегов
Есть код и нужно спарсить данные в 3 колонки время. откуда и куда &lt;textarea...

Распарсить JSON
Доброго времени суток! Помогите распарсить JSON: 1: { &quot;access_token&quot;:...

Распарсить таблицу
Всем Доброго Дня! Столкнулся с проблемой. Есть таблица, в ней выводятся...

распарсить сторочку
1,3,3,0;14,3,1,0;40,4,1,0;53,4,2,0;66,4,2,0;79,4,3,0;2,2,2,0;15,2,2,0;41,2,1,0;5...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru