做一程序,需要分离提取一些字符串
比如“a aa ccded df”
我想分开提取以空格开始并结束的字符串,
正则表达式\b\s\b.*\b\s\b用Match以后获取的是" aa ccded "
而我是想依次得到" aa "," ccded "
求解答 谢谢

解决方案 »

  1.   

    string test=“a aa ccded df”
    string[] test2=test.split(' ');
    test2[1]---------aa
    test2[2]---------ccded
      

  2.   

    string s="a aa ccded df";string[] str=s.split(' ');就OK
      

  3.   

    LZ的需求没必要用正则 static void Main(string[] args)
            {
                string str = "a aa ccded df";
                string[] strs = str.Split(' ');
                foreach(string s in strs)
                {
                    if (s != "")
                        Console.WriteLine(s);
                }
                Console.ReadLine();
            }
      

  4.   

    同意楼上的看法。
    我也做过类似的程序。
    可以这样做。第一:去除字符串中多余的空格,确保字符间只有一个空格。
    Regex SpaceRegex = new Regex(@"\s+");
    result = SpaceRegex.Replace(inpit, " ");第二:用空格划分字符串,形成字符数组。
    string[] test2=test.split(' ');
    test2[1]---------aa
    test2[2]---------ccded这样可以确保得到你所需的。
      

  5.   


                string str = "a aa ccded df";            Regex reg = new Regex(@"(?<=\s).*?(?=\s)");
    (@"(?<=\s).*?(?=\s)")
      

  6.   

    同意,其实就是先split,然后去掉第一个和最后一个就是你想要的