如何根据字母和数字在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]
应返回Mar
, Groups[2]
应返回10
。