Разделить текст по символам

AndyS

Client
Регистрация
24.01.2020
Сообщения
17
Благодарностей
3
Баллы
3
Друзья! Помогите разобраться.

Есть текст "123456789" в переменной. Нужно его разделить на 2 "123456" и "789".

Пробую брать через REGEX первые символы \w{6}. Он их берет, тут нормально. А как с задней части взять не пойму. Если бы можно было при взятии первой части ее удалить, я бы справился.

Пока только мысль брать первую часть, загонять в переменную. А потом поиском и заменой эту первую часть удалять, тогда останется вторая. Но может есть более цивилизованный метод?
 

AndyS

Client
Регистрация
24.01.2020
Сообщения
17
Благодарностей
3
Баллы
3
Друзья! Помогите разобраться.

Есть текст "123456789" в переменной. Нужно его разделить на 2 "123456" и "789".

Пробую брать через REGEX первые символы \w{6}. Он их берет, тут нормально. А как с задней части взять не пойму. Если бы можно было при взятии первой части ее удалить, я бы справился.

Пока только мысль брать первую часть, загонять в переменную. А потом поиском и заменой эту первую часть удалять, тогда останется вторая. Но может есть более цивилизованный метод?
Ну так и сделал, заменой. И результат положил в нужную переменную..

Задача решена, но если перфекционисты выскажутся и предложат другой вариант, будем плюсовать )
 
  • Спасибо
Реакции: djaga

ZULI

Client
Регистрация
09.09.2020
Сообщения
423
Благодарностей
165
Баллы
43

AndyS

Client
Регистрация
24.01.2020
Сообщения
17
Благодарностей
3
Баллы
3

djaga

Client
Регистрация
26.04.2020
Сообщения
505
Благодарностей
1 054
Баллы
93
Друзья! Помогите разобраться.

Есть текст "123456789" в переменной. Нужно его разделить на 2 "123456" и "789".

Пробую брать через REGEX первые символы \w{6}. Он их берет, тут нормально. А как с задней части взять не пойму. Если бы можно было при взятии первой части ее удалить, я бы справился.

Пока только мысль брать первую часть, загонять в переменную. А потом поиском и заменой эту первую часть удалять, тогда останется вторая. Но может есть более цивилизованный метод?
Регулярки выглядят так:
^\d{6} начало
\d{3}$ конец
 
  • Спасибо
Реакции: Sho и AndyS

djaga

Client
Регистрация
26.04.2020
Сообщения
505
Благодарностей
1 054
Баллы
93
Друзья! Помогите разобраться.

Есть текст "123456789" в переменной. Нужно его разделить на 2 "123456" и "789".

Пробую брать через REGEX первые символы \w{6}. Он их берет, тут нормально. А как с задней части взять не пойму. Если бы можно было при взятии первой части ее удалить, я бы справился.

Пока только мысль брать первую часть, загонять в переменную. А потом поиском и заменой эту первую часть удалять, тогда останется вторая. Но может есть более цивилизованный метод?
Ещё можно так:
С помощью substring:
string question = "123456789";
string start = question.Substring(0, 6);
string end = question.Substring(6, 3);
или
С помощью Regex.Matches:
MatchCollection resList = Regex.Matches("123456789", "^\\d{6}|\\d{3}$");
string start = resList[0].Value;
string end = resList[1].Value;
Чтобы передать полученное значение переменной ZM:
project.Variables["variableName"].Value = end; // Пример
 
  • Спасибо
Реакции: Sho и AndyS

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 414
Баллы
113
Друзья! Помогите разобраться.

Есть текст "123456789" в переменной. Нужно его разделить на 2 "123456" и "789".

Пробую брать через REGEX первые символы \w{6}. Он их берет, тут нормально. А как с задней части взять не пойму. Если бы можно было при взятии первой части ее удалить, я бы справился.

Пока только мысль брать первую часть, загонять в переменную. А потом поиском и заменой эту первую часть удалять, тогда останется вторая. Но может есть более цивилизованный метод?
Если это телефон, то можно так сформировать вывод.
98593

Потом, разбить по созданному разделителю и все дела...
C#:
long s = long.Parse("+79129999999");
return string.Format("{0:#-###-###-####}", s);
 
  • Спасибо
Реакции: Sho, AndyS и djaga

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)