如何根据字母和数字在C#中拆分字符串

如何在c#中将“Mar10”等字符串拆分为“Mar”和“10”? 字符串的格式将始终是字母然后是数字,因此我可以使用数字的第一个实例作为分割字符串的位置的指示符。

你可以这样做:

var match = Regex.Match(yourString, "(\w+)(\d+)"); var month = match.Groups[0].Value; var day = int.Parse(match.Groups[1].Value); 

你不是直接说,但从你的例子来看,你似乎只是想解析一个约会。

如果这是真的,那么这个解决方案怎么样:

 DateTime date; if(DateTime.TryParseExact("Mar10", "MMMdd", new CultureInfo("en-US"), DateTimeStyles.None, out date)) { Console.WriteLine(date.Month); Console.WriteLine(date.Day); } 
 char[] array = "Mar10".ToCharArray(); int index = 0; for(int i=0;i 

索引将指示拆分位置。

 var match = Regex.Match(yourString, "([|AZ|az| ]*)([\d]*)"); var month = match.Groups[1].Value; var day = int.Parse(match.Groups[2].Value); 

我在上面尝试了康拉德的答案,但是当我进入RegexPlanet时,它并没有完全奏效。 Groups[0 ]也返回整个字符串Mar10 。 你想从Groups[1]开始, Groups[1]应返回MarGroups[2]应返回10