如何从分割后的字符串获得第二或第三个子字符串
本文关键字:字符串 三个 分割 | 更新日期: 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);
}
你也可以在你的代码中设置断点,以确保它甚至到达你的分割字符串代码-你所有的检查一路上正确设置?