如何在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"

如何在c#中使用多个反逗号分割字符串

如果要在字符串中表示文字引号,则需要对其进行转义(或在逐字串文本中对其进行双引号)。

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();