C#操作字符串
“高护32班 班主任:吴会长 (2007-2008学年第一学期)” 这个字符串我怎么样才能用C#得到“高护32班” “2007-2008” “一” 这三个字符串呢?
[解决办法]
问问wuyazhe正则能不能写……
[解决办法]
//提供的字符串特征:
//班级位于行首,并后跟空白字符
System.Text.RegularExpressions.Regex regClass = new System.Text.RegularExpressions.Regex(@"^\S+",
System.Text.RegularExpressions.RegexOptions.Multiline);
//在校周期以“-”连接两个数字
System.Text.RegularExpressions.Regex regPeriod = new System.Text.RegularExpressions.Regex(@"\d+\-\d+",
System.Text.RegularExpressions.RegexOptions.Multiline);
string sToMatch = "高护32班 班主任:吴会长 (2007-2008学年第一学期)";
System.Text.RegularExpressions.Match match = regClass.Match(sToMatch);
if (match != null)
Console.WriteLine("班组:" + match.Value);
match = regPeriod.Match(sToMatch);
if (match != null)
Console.WriteLine("在校周期:" + match.Value);
//提供的字符串特征:
//班级位于行首,并后跟空白字符
//周期以“-”连接两个数字
//“一”字夹在“第”和“学期”中间
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(
@"^(?<class>\w+).+?(?<period>\d+\-\d+).+第(?<sp>\w)学期",
System.Text.RegularExpressions.RegexOptions.Multiline);
string sToMatch = "高护32班 班主任:吴会长 (2007-2008学年第一学期)";
System.Text.RegularExpressions.Match match = reg.Match(sToMatch);
if (match != null)
Console.WriteLine("班组:" + match.Groups["class"].Value
+ "\r\n周期:" + match.Groups["period"].Value
+ "\r\n学期:" + match.Groups["sp"].Value);
str.Split(' ')[3].Substring(1,9) “2007-2008”
str.Split(' ')[3].Substring(13,1) “一”