c# 处理字符串 那位高手.给我请教.. c#有没有自己带的这样一个函数,就是说很快地算出文本中一共有多少个逗号,句号.什么的....谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string[] arr=str.Split(new Char[]{','})arr.length计算字符串重复次数http://topic.csdn.net/u/20110119/17/cbb2a1c1-1e8a-4357-a052-afa5b8b87b8e.html 本帖最后由 lxcnn 于 2011-02-07 23:06:04 编辑 用正则表达式吧,很快的。先把文本读出来 using(StreamReader reader=new StreamReader(string filePath)){ string str=reader.ReaderToEnd(); int count = Regex.Matches(str, ",").Count; MessageBox.Show(Count.ToString());} Replace方法的效率绝对不低的,不信可以测试下,我们要用数据说话。Replace方法是在底层用指针实现的。 一个20000个字符的字符串,用Replace方法实现,在我的机器上只用了0毫秒。 而用正则的方法int count = Regex.Matches(yourStr, ",").Count却花费了5~8个毫秒。测试数据完全相同。 可能是我上面说得太简略了,如果只是单次统计,那么上面提到的任意方法都可以满足要求,也不会涉及到所谓的效率问题了,这种情况下提效率也没有意义一般涉及到效率问题时,实际应用中一般是大数据量处理,循环或频繁调用的方法中涉及,Replace要重新分配内存,所以不推荐 Replace要重新分配内存,这是什么意思?难道Regex就不要分配内存了?这个说法没道理的。要以实际的数据说事,不要主观臆断。 本帖最后由 lxcnn 于 2011-02-08 18:01:21 编辑 如果是计算逗号数量的话,结果应该是 arr.length-1 string[] arr=str.Split(new Char[]{','})arr.length计算字符串重复次数 如何调整tabcontrol的tabpage标签的宽度 对于C# Webform项目,添加到*.aspx页面上的控件如文本框为什么拖不动呢 求教:C#如何获得word文档中字体颜色的属性(在线等~~急~~) 100分解决简单问题,在线等,解决马上给分 请教:.NET中如何远程创建目录和文件?(解决立刻结贴,急!拜托了。) 经过几天的努力跟贴终于升角了,嘿嘿,庆祝,散分~~~~~~~~ 我希望!=比较运算符返回true,运行结果未达到我的期待 C# asp.net web 程序中有两个 aspx页面,B页面如何调用A页面中的控件? c#怎样才能检测到服务器的名字? C#中Main 函数中的返回值有两种int和void分别有什么作用? 连接未关闭,连接当前状态为打开? DataTable填充ListView问题
arr.length
计算字符串重复次数
http://topic.csdn.net/u/20110119/17/cbb2a1c1-1e8a-4357-a052-afa5b8b87b8e.html
先把文本读出来 using(StreamReader reader=new StreamReader(string filePath))
{
string str=reader.ReaderToEnd();
int count = Regex.Matches(str, ",").Count;
MessageBox.Show(Count.ToString());
}
却花费了5~8个毫秒。测试数据完全相同。
可能是我上面说得太简略了,如果只是单次统计,那么上面提到的任意方法都可以满足要求,也不会涉及到所谓的效率问题了,这种情况下提效率也没有意义
一般涉及到效率问题时,实际应用中一般是大数据量处理,循环或频繁调用的方法中涉及,Replace要重新分配内存,所以不推荐
如果是计算逗号数量的话,结果应该是 arr.length-1
arr.length
计算字符串重复次数