日期:2014-05-16  浏览次数:20811 次

C#中,一个字符串里面的词语倒序问题,词语之间有空格但有几个空格不定,如何实现词语倒序(不是字母倒序)
比如:string  str = "I love CSDN  It   can      help        me";

倒序结果: string str1 = "me        help      can   It  CSDN love I";
------解决方案--------------------
string str = "I love CSDN  It   can      help        me";
            str = string.Join("", Regex.Split(str, @"((?<=\S)(?=\s+)
------解决方案--------------------
(?<=\s+)(?=\S))").Reverse());

------解决方案--------------------
如果不考虑性能

        private static string ExChangeStr(string input,char split)
        {
            string output = string.Empty;
            string keyWord = string.Empty;
            int len = input.Length;
            for(int i=len -1;i >=0;i--)
            {
                var k = input[i];
                if(k == split)
                {
                    output += keyWord;
                    output += k;
                    keyWord = string.Empty;
                }
                else
                {
                    keyWord = k + keyWord;
                }
            }
            //最后一个词
            output += keyWord;
            return output;
        }