gpt4 book ai didi

c# - 我怎样才能优化这个正则表达式的性能?

转载 作者:行者123 更新时间:2023-11-30 13:28:13 24 4
gpt4 key购买 nike

我正在使用正则表达式将文本限定引号中未包含的逗号替换为制表符空间。我正在通过 SSIS 中的脚本任务对文件内容运行正则表达式。文件内容超过 6000 行。我看到了一个在文件内容上使用正则表达式的示例,看起来像这样

String FileContent = ReadFile(FilePath, ErrInfo);        
Regex r = new Regex(@"(,)(?=(?:[^""]|""[^""]*"")*$)");
FileContent = r.Replace(FileContent, "\t");

可以理解的是,该更新在大小适中的文件上花费了很多时间。

有没有更有效的方法来运行这个正则表达式?逐行读取文件并每行运行正则表达式会更快吗?

最佳答案

您似乎正在尝试将逗号分隔值 (CSV) 转换为制表符分隔值 (TSV)。

在这种情况下,您应该尝试找到一个 CSV 库,并使用该库读取字段(并在必要时将它们转换为 TSV)。

或者,您可以检查每一行是否有引号,并相应地使用更简单的方法。

关于c# - 我怎样才能优化这个正则表达式的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6628536/

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