2016-02-23 5 views
1

У меня есть строка "User " + nick + " has been connected" (WinForms)Как я могу выбрать строку из слов между указанными

Можете ли вы сказать мне, как получить ник из этой строки? (он будет напечатан как 1 строка)

Это за словами «Пользователь» и «имеет». Благодаря

+2

Почему бы вам просто не использовать ник? : D – Hristo

+0

Вам действительно дана только эта строка? Вероятно, существует простой способ передачи значения переменной. Например, свойство '.Tag' элемента управления. – ryanyuyu

+0

, потому что его приложение чата, я знаю, что могу его отправить, но мне нужно поместить его из полной строки – Daniel

ответ

3

Вы можете использовать регулярное выражение с ^User (.*?) has been connected$

var myUser = Regex.Match(inputString, "^User (.*?) has been connected$").Groups[1].Value; 
+0

Бросьте в .Value там, и вы получите имя в виде строки ... Ваш код возвращает систему. Text.RegularExpressions.Group – Shazi

+0

хорошо, а 'Group' реализует ToString(), поэтому он работает, но обязательно – ibiza

+0

Да, это так. Итак, ваша точка должна вызывать метод .ToString() вместо свойства .Value? Он по-прежнему неявно преобразован в строку ... – Shazi

1

Это может сделать:

string nickname = yourString.Replace("User ", "").Replace(" has been connected", ""); 
0

Текст шаблонного постоянен так чтения за 5 символов "user " ДО длины строки меньше длина персонажей, которые вы всегда знаете, будет там.

string name = text.Substring(5, text.Length - 24); 
Смежные вопросы