【发布时间】:2018-12-16 01:26:37
【问题描述】:
我正在尝试使用 Regex.Split 方法将对象数组中每个项目的属性设置为 split 方法的结果。考虑以下带有 getter 和 setter 的类:
public class PuffAndStuff
{
private String puff = "";
public string puff { get => puff; set => puff = value; }
}
交易是,我想用 Regex.Split 方法分隔文本文件中的文本。考虑以下程序:
static void Main()
{
Regex regex = new Regex(@"Puff[0-9]\r\n");
PuffAndStuff[] subPuff = new PuffAndStuff[] { new PuffAndStuff { puff = "" } };
StreamReader reader = File.OpenText("D:\\SampleText.txt");
string check = reader.ReadToEnd();
string[] arrayCheck = Regex.Split(check, @"Puff[0-9]\r\n");
subPuff = Regex.Split(check, @"Puff[0-9]\r\n");
subPuff[0].puff = arrayCheck[1] + arrayCheck[2];
Console.WriteLine("Segment 1:\r\n" + subPuff[0].puff);
Console.WriteLine("Segment 2:\r\n" + arrayCheck[3] + arrayCheck[4]);
}
我的想法是,以不同的方式将文本与文件分开可能会更好(使用通用动态列表而不是对象数组),但我也在尝试考虑最快的方法做到这一点(使对象列表/字典/数组作为“可能的”静态)。不过,也许这不是一种实用的方法。我的一个问题是 subPuff 对象数组不接受 Regex.Split() 字符串。有没有人对我如何使这项工作或如何使这项工作变得更好有任何建议?
【问题讨论】:
-
尚不清楚您要在这里实现什么。无论您目前拥有何种解决方案,您能否与我们分享您最终要寻找的东西?
-
我要做的是将文件分成不同的段并将它们存储为对象。我想这样做,以便可以检查每个对象是否缺少文本或数据。假设这是我即将进行的项目的一部分。我希望能够制作一个缺少不同段的对象列表,这样就不必滚动文本文件来查看缺少的内容
标签: c# arrays regex object split