gpt4 book ai didi

c# - 寻找正则表达式以在大字符串中查找引用的换行符(对于 C#)

转载 作者:行者123 更新时间:2023-11-30 20:14:47 30 4
gpt4 key购买 nike

我有一个很大的字符串(我们称它为 CSV 文件,虽然它实际上不是一个,但现在它会更容易)我必须用 C# 代码解析。
解析过程的第一步是通过使用 StreamReader 对象并调用 ReadLine 将文件拆分为单独的行,直到它通过文件。但是,任何给定的行都可能包含带引号(单引号)的文字和嵌入的换行符。我需要找到那些换行符并将它们临时转换为某种其他类型的标记或转义序列,直到我将文件拆分为一个行数组......然后我可以将它们改回来。

示例输入数据:

1,2,10,99,'Some text without a newline', true, false, 90
2,1,11,98,'This text has an embedded newline
and continues here', true, true, 90

我可以通过使用 string.IndexOf 找到引用的部分并在其中查找换行符来编写执行此操作所需的所有 C# 代码,但我认为 Regex 可能更好选择(即 now I have two problems )

最佳答案

因为这不是一个真正的 CSV 文件,它有任何类型的架构吗?

从你的例子来看,你有:整型、整型、整型、整型、字符串、 bool 型、 bool 型、整型

以此构成您的记录/对象。

假设您的数据格式正确(我对您的来源了解不多,无法知道此假设的有效性);你可以:

  1. 读你的台词。
  2. 使用状态机解析您的数据。
  3. 如果你的行结束了,而你正在解析一个字符串,请阅读下一行..并继续解析。

如果可能,我会避免使用正则表达式。

关于c# - 寻找正则表达式以在大字符串中查找引用的换行符(对于 C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33063/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com