C # Разделить строку, пока не встретить определенный текст - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь разбить строку, пока не доберусь до определенного персонажа.Пример:

string test = "Hello(30)";

И я хотел бы, чтобы результат был: «Привет» Другой пример:

string test = "Test(50)";

и результат: «Тест»

Как быЯ об этом?Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Ник опубликовал простой ответ с подстрокой, но если вы хотите что-то, что может соответствовать строке, гораздо более сложный материал, смотрите не дальше, чем Regex.Я предлагаю вам изучить, как бы вы использовали его в свое время, если вы не знакомы, но вот реализация вашего кода.

Вы должны указать, что хотите включить Regex, набрав using System.Text.RegularExpressions; вверху вашего файла.

string test = "Hello(30)";
string match = Regex.Match(test, @"[^(]*").ToString();
//[^(]* == Exclude all after point in search.
//match == "Hello"

Regex может быть беспорядочным для чтения, но есть много документации, если вам нужно узнать больше.Просто выполните поиск в Интернете, и вы найдете то, что ищете.

См. этот комментарий о переполнении стека для реализации, которую я использовал.

0 голосов
/ 08 июня 2018

Вы хотите использовать функцию IndexOf, она возвращает первую позицию символа в строке:

string s = test.Substring(0,test.IndexOf("("));
...