给出的例子:其中/r 不少/m 稿件/n 在/p 社会/n 上{shang5}/f 引起/v 强烈/a 反响/n ,/wd 几乎/dc 每天/r 都/d 能/vu 接到/v 读者/n 的/ud 来电/n求高手给出一段代码,去掉后面的词性!

解决方案 »

  1.   

    public void userSplit()
            {
                string str = "其中/r 不少/m 稿件/n 在/p 社会/n 上{shang5}/f 引起/v 强烈/a 反响/n ,/wd 几乎/dc 每天/r 都/d 能/vu 接到/v 读者/n 的/ud 来电/n";
                string[] strs = str.Split(new char[]{ '/' });
                string value = "";
                for (int i = 0; i < strs.Length; i++)
                {
                    string s = strs[i];
                    char[] chs = s.ToCharArray();
                    int j = 0;
                    for (; j < chs.Length; j++)
                    {
                        if ( !((chs[j] > 'A' && chs[j] < 'Z') || (chs[j] > 'a' && chs[j] < 'z')))
                        {
                            break;
                        }
                    }
                    value += s.Substring(j-1, s.Length - j-1);
                    
                }
                Console.WriteLine(value);
            }
      

  2.   


    public void userSplit()
        {
            string str = "其中/r 不少/m 稿件/n 在/p 社会/n 上{shang5}/f 引起/v 强烈/a 反响/n ,/wd 几乎/dc 每天/r 都/d 能/vu 接到/v 读者/n 的/ud 来电/n";
            string[] strs = str.Split(new char[] { '/' });
            string value = "";
            for (int i = 0; i < strs.Length; i++)
            {
                string s = strs[i];
                char[] chs = s.ToCharArray();
                int j = 0;
                for (; j < chs.Length; j++)
                {
                    if (!((chs[j] >= 'A' && chs[j] <= 'Z') || (chs[j] >= 'a' && chs[j] <= 'z')))//要吧空格去掉 就在这里加判断
                    {
                        break;
                    }
                }
                if (j > 0)
                {
                    value += s.Substring(j, s.Length - j);
                }
                else
                {
                    value += s;
                }        }
            Console.WriteLine(value);
        }