如何在c#中使用多个反逗号分割字符串
本文关键字:字符串 分割 | 更新日期: 2023-09-27 17:49:45
如何按"分割字符串," where "是要分割的字符串的一部分。
string[] stringSeparator = new string[] {","};
while (!sr.EndOfStream) {
string strline = sr.ReadLine();
string[] _values = strline.Split(stringSeparator, StringSplitOptions.None);
for (int entry = 0; entry < _values.Length; entry++) {
MessageBox.Show(_values[entry]);
}
}
尝试使用",",但它似乎返回整行,而不是它的一部分。
编辑:要分割的字符串(示例):第一行:
"24446022020000000174234443"、"PLN"、"NVESTMENT某物""、"2011-03-06"、"2011-03-07","-25年21""
2号线:
"1"、"E"》、《"2011-03-04"、"2011-03-07"、"2011-03-07"、"1 00"、"、"0000000100000001 UZNANIEsdsd"长生不老药"、"45555550040000001244580001","客户端(E) KLIENTNR: 0000000100000001"、"的例子"东西"、"73116022447246000100000001"
如果要在字符串中表示文字引号,则需要对其进行转义(或在逐字串文本中对其进行双引号)。
。
new string[] { "'",'"" };
//or
new string[] { @""",""" };
至于为什么你得到了你得到的值,考虑一下你输入它的方式:
string[] stringSeparator = new string[] { "," };
是一个字符串数组,包含一个字符串,只有一个逗号,
。它会分裂,但你可能没有得到你期望的值。
string[] stringSeparator = new string[] { "","" };
是一个字符串数组,包含两个字符串,都是空字符串。如果输入为:new string[] { "", "" };
可能会更清楚。Split()
函数忽略空字符串分隔符,因此它不会拆分任何内容。
string[] stringSeparator = new string[] { "'",'"" };
是一个字符串数组,包含单个字符串,双引号,双引号","
。它应该可以得到字符串中","
之间的一切
Try
char[] delimiters = new char[] { ',', '"' };
string[] parts = value.Split(delimiters,
StringSplitOptions.RemoveEmptyEntries);
先修剪,然后分割,去掉所有的引号。
string[] stringSeparator = new string[] {"'",'""};
while (!sr.EndOfStream)
{
//trim removes first and last quote since they are not removed by the split
string line = sr.ReadLine().Trim('"');
string[] values = line.Split(stringSeparator, StringSplitOptions.None);
for (int index = 0; index < values.Length; index++)
MessageBox.Show(values[index]);
}
string strline = sr.ReadLine();
string[] abc = strline.Split('"');
abc = Array.FindAll(abc, val => val != ",").ToArray();
string result[] = Array.FindAll(abc, val => val != "").ToArray();