黑马程序员技术交流社区

标题: 输出一个字符串中最长的行和最短的行 [打印本页]

作者: 黄冉    时间: 2012-12-6 10:10
标题: 输出一个字符串中最长的行和最短的行
要求用到正则表达式。先将字符串转换为字符串数组。(主要是这一步)
然后计算每个字符串的长度
输出。

作者: 刘亚龙    时间: 2012-12-6 13:36
不太明白你的意思,如果是将字符串中符合规则的子字符串匹配出一个数组的话,可以使用Regex的Matches方法,第一个参数是要匹配的字符串,第二个参数是你写的匹配规则。它的返回值类型是MatchCollection 。然后对集合遍历就可以得到每一个分离出的字符串。
比如你要匹配的字符串只是由字母组成,那匹配规则就是"[A-Za-z]+";
然后使用方法:MatchCollection mcStrs = Regex.Matches(str, "[A-Za-z]+");//str是传入的字符串;
最后对得到的集合遍历:
foreach (Match subStr in mcStrs)
            {
                Console.WriteLine(subStr.Length);
            }
就可以得到每个字符串的长度。例如你的字符串是“1aaa2bb7c89”,得到的集合就是{"aaa","bb","c"},长度分别是3,2,1
作者: 王彦伟    时间: 2012-12-6 13:59
将一个字符串转换成数组的语法是    (自定义的数组类型)(Enum.Parse(typeof(自定义的数组类型),待转换的字符串));//记得字符串加双引号




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2