在C#里怎样截取字符串?如从
  string strx = "1828490.708;1826267.81;641908.477;639486.574;";中截取这四个数据(不包括;),并放到数组中?

解决方案 »

  1.   

    string[] result = strx.Split(';');
      

  2.   

    string[] s=strx.Split(';');
    应该是单引号
      

  3.   

    string strx = "1828490.708;1826267.81;641908.477;639486.574;";
    string[] str=strx.Split(";");
      

  4.   

    string strx = "1828490.708;1826267.81;641908.477;639486.574;";
    string [] result=strx.Split(';');
      

  5.   

    楼上的方法是对的,用Split就可以了
      

  6.   

    一句话版的……double[] numbers = (from s in "1828490.708;1826267.81;641908.477;639486.574;".Split(";".ToArray(), StringSplitOptions.RemoveEmptyEntries).ToList() select double.Parse(s)).ToArray();
    Array.ForEach(numbers, d => Console.WriteLine(d));
      

  7.   

    基本都对,不过有点小问题,应该是:
    string strSource = "1828490.708;1826267.81;641908.477;639486.574;";
    string [] result=strSource.Split(new char[]{';'});这样会形成一个字符串数组,有5个结果而不是4个,其中最后一个是空串(因为最后还有一个";"),请注意去掉
      

  8.   


    没说错,你那的确是没调试就想当然贴出来的。你写的能通过编译么?没有string.split(char)这样的重载。9楼的严谨是值得肯定的。我没想说而已。不过我给出的回复都会经过测试。
      

  9.   

    确实我调试了 的确有5个字符串......因为我尝试用一个长度4的double数组去装,但是出现了异常....
      

  10.   


    string[] result = strSource.Split(new char[] { ';' },StringSplitOptions.RemoveEmptyEntries); //去空的元素
      

  11.   


    显然不会异常。如果异常你贴个测试的字符串。如果考虑楼主的字符串可能出错。或是可能格式中包含非数字的;分割项,用正则最安全;private static void TestRegex02()
    {
        double[] numbers = (from m in System.Text.RegularExpressions.Regex.Matches("1828490.708;1826267.81;641908.477;639486.574;",@"\d+(\.\d+)?").Cast<System.Text.RegularExpressions.Match>().ToList() select double.Parse(m.Value)).ToArray();
        Array.ForEach(numbers, d => Console.WriteLine(d));
    }
      

  12.   

    string strx = "1828490.708;1826267.81;641908.477;639486.574;";
    string [] result=strx.Split(';');