string strExample =
"\"10553210\",\"na\",\"398,633,000\",\"20130709\",\"20130502\",\"20120724\",";
如何使用","
我需要一个像
这样的答案string[] arrExample = YourFunc(strExample);
arrExample[0] == "10553210";
arrExample[1] == "na";
arrExample[2] == "398,633,000";
...
with split option。
提前致谢
答案 0 :(得分:6)
这是一种简单的方法,
using Microsoft.VisualBasic.FileIO;
IList<string> arrExample;
using(var csvParser = new TextFieldParser(new StringReader(strExample))
{
fields = csvParser.ReadFields();
}
答案 1 :(得分:3)
你可以分开&#34;,&#34; ,你需要清理的第一个和最后一个条目&#34;在最后和第一个条目中:
string[] arr = strExample .Split(new string[] { "\",\"" },
StringSplitOptions.None);
//remove the extra quotes from the last and the first entry
arr[0] = arr[0].SubString(1,arr[0].Length - 1);
int last = arr.Length - 1;
arr[last] = arr[last].SubString(0,arr[last].Length - 1);
答案 2 :(得分:3)
您可以不用逗号“,”分割整个字符串“\”,\“”。 不要忘记修剪前导和尾随引号“
String strExample = "\"10553210\",\"na\",\"398,633,000\",\"20130709\",\"20130502\",\"20120724\"";
string[] arrExample = St.Trim('"').Split(new String[] {"\",\""}, StringSplitOptions.None);
答案 3 :(得分:0)
string[] arrExample = strExample.Split(",");
会这样做,但你的代码不会编译。我认为你的意思是:
string strExample = "10553210,na,398,633,000,20130709,20130502,20120724";
如果这不是您的意思,请更正问题。
答案 4 :(得分:0)
假设你的意思是:
string strExample = "\"10553210\",\"na\",\"398,633,000\",\"20130709\",\"20130502\",\"20120724\"";
Split
然后Select
子字符串:
string[] parts = strExample.Split(',').Select(x => x.Substring(1, x.Length - 2)).ToArray();
结果:
答案 5 :(得分:0)
strExample.Split(',');
如果要在示例字符串中包含双引号,则需要转义双引号。
答案 6 :(得分:0)
使用Jodrell的例子
private string[] SplitFields(string csvValue)
{
//if there aren't quotes, use the faster function
if (!csvValue.Contains('\"') && !csvValue.Contains('\''))
{
return csvValue.Trim(',').Split(',');
}
else
{
//there are quotes, use this built in text parser
using(var csvParser = new Microsoft.VisualBasic.FileIO.TextFieldParser(new StringReader(csvValue.Trim(','))))
{
csvParser.Delimiters = new string[] { "," };
csvParser.HasFieldsEnclosedInQuotes = true;
return csvParser.ReadFields();
}
}
}
答案 7 :(得分:0)
这对我有用
Rebuild Schedulers
答案 8 :(得分:-1)
你可以这样做..
string stringname= "10553210,na,398,633,000,20130709,20130502,20120724";
List<String> asd = stringname.Split(',');
或者如果你想要数组那么
array[] asd = stringname.Split(',').ToArray;