在C#里怎样截取字符串?如从
string strx = "1828490.708;1826267.81;641908.477;639486.574;";中截取这四个数据(不包括;),并放到数组中?
string strx = "1828490.708;1826267.81;641908.477;639486.574;";中截取这四个数据(不包括;),并放到数组中?
调试欢乐多
应该是单引号
string[] str=strx.Split(";");
string [] result=strx.Split(';');
Array.ForEach(numbers, d => Console.WriteLine(d));
string strSource = "1828490.708;1826267.81;641908.477;639486.574;";
string [] result=strSource.Split(new char[]{';'});这样会形成一个字符串数组,有5个结果而不是4个,其中最后一个是空串(因为最后还有一个";"),请注意去掉
没说错,你那的确是没调试就想当然贴出来的。你写的能通过编译么?没有string.split(char)这样的重载。9楼的严谨是值得肯定的。我没想说而已。不过我给出的回复都会经过测试。
string[] result = strSource.Split(new char[] { ';' },StringSplitOptions.RemoveEmptyEntries); //去空的元素
显然不会异常。如果异常你贴个测试的字符串。如果考虑楼主的字符串可能出错。或是可能格式中包含非数字的;分割项,用正则最安全;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));
}
string [] result=strx.Split(';');