如何从分割后的字符串获得第二或第三个子字符串

本文关键字:字符串 三个 分割 | 更新日期: 2023-09-27 18:11:34

我试图从字符串后的字符串获得第二或第三个子字符串。这是我的代码:

string[] rows;
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    rows = File.ReadAllLines(ofd.FileName);
    foreach (var row in rows)
    {
        row.Split(''n');
        if (!row.StartsWith("#COLUMN"))
        {           
            if (row.Contains("Data") || row.Contains("Godzina"))
            {
                var wiersz = row.Split(';')[1] + row.Split(';')[2];
                richTextBox1.Text += wiersz;
            }                
        }
    }                
}

wiersz之后不包含任何内容。

这是行我试图分割和获取子字符串从:

27590;2012-12-07;14:44:20;1;[001]: Przyznanie dostępu;136;2711;XXX;;;;XXX XXX;410;PORTIERNIA WEJŚCIE;0;Domyślna;16;UMYSŁOWY;0;WEJŚCIE;4400F2E180;292073693568;

如何从分割后的字符串获得第二或第三个子字符串

首先,您可能应该删除这一行,因为它没有意义:

 row.Split(''n');

然后将分割代码分成两部分:

var wiersz = row.Split(";")[1]+ row.Split(";")[2],

var splitString = row.Split(';');
if (splitString == null || splitString.Length == 0)
{
    Console.WriteLine("Split string is null or empty!");
}
else
{
    var wiersz = splitString[1] + splitString[2];
}

这样Split()只运行一次,你应该得到适当的结果。您可以执行的故障排除操作是遍历splitString数组并输出结果:

foreach (string s in splitString)
{
    Console.WriteLine(s);
}

你也可以在你的代码中设置断点,以确保它甚至到达你的分割字符串代码-你所有的检查一路上正确设置?