Как я разделяю строку в C# на основе букв и чисел

Как я могу разделить строку, такую как "Mar10" в "март" и "10" в c#? Формат строки всегда будет буквами тогда числа, таким образом, я смогу использовать первую инстанцию числа как индикатор для того, где разделить строку.

10
задан Addie 2 March 2010 в 09:43
поделиться

3 ответа

Вы можете сделать это:

var match = Regex.Match(yourString, "(\w+)(\d+)");
var month = match.Groups[0].Value;
var day = int.Parse(match.Groups[1].Value);
14
ответ дан 3 December 2019 в 17:20
поделиться
char[] array = "Mar10".ToCharArray();
int index = 0;
for(int i=0;i<array.Length;i++)
{
   if (Char.IsNumber(array[i]){
      index = i;
      break;
   }
}

Индекс укажет положение сплита.

3
ответ дан 3 December 2019 в 17:20
поделиться

Вы не говорите это прямо, но из вашего примера кажется, что вы просто пытаетесь разобрать дату.

Если это правда, как насчет этого решения:

DateTime date;
if(DateTime.TryParseExact("Mar10", "MMMdd", new CultureInfo("en-US"), DateTimeStyles.None, out date))
{
    Console.WriteLine(date.Month);
    Console.WriteLine(date.Day);
}
5
ответ дан 3 December 2019 в 17:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: