| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1961 人关注过本帖
标题:求C#字符串拆分统计个数代码
只看楼主 加入收藏
hainiao90
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-9-22
收藏
 问题点数:0 回复次数:6 
求C#字符串拆分统计个数代码
比如:aaa,中国,人民,bbb,中国,服务,中国,aaa,ccc

执行的结果出现多到少排列
结果:中国,aaa,人民,bbb,服务,ccc

(因为中国出现3,aaa出现2次,..)
搜索更多相关主题的帖子: 统计 代码 拆分 字符 
2009-09-21 17:32
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:0 
拆分=》统计=》合并=》排列
比较麻烦,没现成的方法

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-09-21 22:07
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:0 
程序代码:
using System; 
using System.Collections.Generic; 
using System.Text; 
 
namespace StringSplit 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            string  test = "aaa,中国,人民,bbb,中国,服务,中国,aaa,ccc"; 
            foreach (StringTimes st in GetStringAndTimes(test)) 
            { 
                Console.WriteLine(st.timers+ "," + st.value); 
            } 
 
            //foreach (StringTimes st in OrderByTimers(GetStringAndTimes(test))) 
            //{ 
            //    Console.WriteLine(st.value + "-出现次数" + st.timers.ToString() + ";"); 
            //} 
 
            Console.WriteLine("根据出现次数排序后:"); 
            foreach (StringTimes st in OrderByTimers(GetStringAndTimes(test))) 
            { 
                Console.Write(st.value + " "); 
            } 
            Console.ReadKey(); 
        } 
 
        //对StringTimes进行排序 
        static List<StringTimes> OrderByTimers(List<StringTimes> ST) 
        { 
            List<StringTimes> st = ST; 
            for (int i = 0; i < st.Count; i++) 
            { 
                int currentTimes = st[i].timers; 
                for (int j = i; j < st.Count; j++) 
                { 
                    if (st[j].timers > currentTimes) 
                    { 
                        StringTimes tempInt = st[i]; 
                        st[i] = st[j]; 
                        st[j] = tempInt; 
                        currentTimes = st[j].timers; 
                    } 
                    else 
                    { 
                        continue; 
                    } 
                } 
            } 
 
            return st; 
        } 
 
       static List<StringTimes> GetStringAndTimes(string Str) 
        { 
            List<StringTimes> timesAndString = new List<StringTimes>(); 
 
            string[] strArray = Str.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); 
 
            foreach (string str in strArray) 
            { 
                bool hasShow = false; 
                foreach (StringTimes st in timesAndString) 
                { 
                    if (str == st.value) 
                    { 
                        st.timers++; 
                        hasShow = true; 
                        break; 
                    } 
                    else 
                    { 
                        continue; 
                    } 
                } 
                if(!hasShow) 
                    timesAndString.Add(new StringTimes(1, str)); 
            } 
 
            return timesAndString; 
        } 
 
       class StringTimes 
        { 
            public int timers; 
            public string value; 
 
            public StringTimes(int Timers, string Value) 
            { 
                this.timers = Timers; 
                this.value = Value; 
            } 
        } 
    } 
} 

看看这个吧..
思路是:
首先计算字符串出现的次数,然后根据出现次数进行排序,输出。
可能有点绕..我写了快半个小时。。
呵呵,你还一分都不给..
2009-09-22 00:30
h2009
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-10-2
收藏
得分:0 
恩,值得学习。我顶
2009-10-06 22:17
bdx808
Rank: 1
等 级:新手上路
帖 子:85
专家分:2
注 册:2009-5-9
收藏
得分:0 
先收藏,谢谢。
2009-10-09 21:49
zcd1008
Rank: 1
来 自:广西
等 级:新手上路
帖 子:12
专家分:6
注 册:2009-10-9
收藏
得分:0 
自己写点算法都不会吗?
搞这行的,需要头脑
2009-10-10 22:59
maiiho
Rank: 1
等 级:新手上路
帖 子:94
专家分:7
注 册:2008-7-17
收藏
得分:0 
把它们为成几个string数组,然后用compare依次进行比较,算出(统计)它们的返回值,存在几个变量里面,然后对比一下结果就出来了。。。但是,,,,怎么区别  哪个变量对应哪个字串,我是我的思路。。。。。。。。。。。。。。。。。。。。。。。。
2009-10-11 20:59
快速回复:求C#字符串拆分统计个数代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016597 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved