Как разделить строку, когда после цифры идет буква c # - PullRequest
0 голосов
/ 24 сентября 2018

Я хочу разбить мою строку, когда после числа идет буква, но не избавляясь от самого числа.Например, ABC123CW23F1 должен выводить как ABC123, CW23 и F1.Я попытался использовать String.Spilt

string testString = "ABC123CW23F1";
Console.WriteLine(testString);
string[] new_String = testString.Split(new char[] { '0', '1', '2', '3' });
for (int i = 0; i < new_String.Length; i++)
{
     Console.WriteLine(new_String[i]);
}

Но это выдает ABC несколько пустых строк, а затем CW. Затем несколько пустых строк, затем F. Как сделать так, чтобы это не так?Пожалуйста помоги.Спасибо

1 Ответ

0 голосов
/ 24 сентября 2018

Ваш ожидаемый результат предполагает, что вы хотите разделить всякий раз, когда цифра предшествует и буква продолжается.Вы можете разделить следующее регулярное выражение, которое использует обходные пути:

(?<=\d)(?=[A-Z])

Вот пример кода:

string str = "A4HM23D9";
string[] split = Regex.Split(str, @"(?<=\d)(?=[A-Z])");
Console.WriteLine(split[0] + " " + split[1] + " " + split[2]);

A4 HM23 D9

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...