Обрезка текст

LiMe

Client
Регистрация
10.12.2015
Сообщения
596
Благодарностей
316
Баллы
63
Здравствуйте, подскажите пожалуйста, есть к примеру текст "text2_test" нужно обрезать текст до и после цифры или спец. символа.
т.е. получить text, text2, _test, test. Пытался погуглить по форуму, так ничего и не нашел. Буду очень признателен.
 

volody00

Client
Регистрация
06.09.2016
Сообщения
794
Благодарностей
814
Баллы
93
Регулярки + конструктор регулярок. Вот статья.
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
596
Благодарностей
316
Баллы
63
Просмотрел тему с регулярками, к сожалению подобных не нашел :(
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 804
Баллы
113

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
Из Вашего примера лично мне ничего непонятно, хотя я уже раз третий или четвертый захожу и пытаюсь понять суть задачи. Попробуйте собраться с мыслями и объяснить, что дано и что нужно из этого получить. Лучше, конечно, живой пример.
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
596
Благодарностей
316
Баллы
63
Из Вашего примера лично мне ничего непонятно, хотя я уже раз третий или четвертый захожу и пытаюсь понять суть задачи. Попробуйте собраться с мыслями и объяснить, что дано и что нужно из этого получить. Лучше, конечно, живой пример.
Есть логин для примера: pishisuda_2 мне нужно получить 4 варианта:
1. Логин до цифры [pishisuda_]
2. Логин до спец символа, в нашем случае это "_" [pishisuda]
3. Логин после цифры [пустота]
4. Логин после спец. символа [2]

* в квадратных скобках результат который нужно получить.
 
  • Спасибо
Реакции: Alexmd

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
Вы что-то не договариваете. Из Вашего объяснения я понял так
C#:
string login = "pishisuda_2 ";
List<string> vars = new List<string>();
vars.Add(string.Format("{0}_",login.Split('_')[0]));//1
vars.Add(login.Split('_')[0]);//2
string pattern = string.Format("(?<={0}).*",login.Split('_')[1]);
vars.Add(Regex.Match(login,@pattern).Value);//3
vars.Add(login.Split('_')[1]);//4
return string.Join(", ",vars);
вернет Результат: pishisuda_, pishisuda, , 2
 

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