gpt4 book ai didi

c# - 在 C# 中规范化换行符

转载 作者:IT王子 更新时间:2023-10-29 04:16:18 27 4
gpt4 key购买 nike

我有一个数据流,其中可能包含\r、\n、\r\n、\n\r 或它们的任意组合。有没有一种简单的方法将数据归一化,使它们都简单地变成\r\n 对,使显示更加一致?

所以会产生这种翻译表的东西:

\r     --> \r\n
\n --> \r\n
\n\n --> \r\n\r\n
\n\r --> \r\n
\r\n --> \r\n
\r\n\n --> \r\n\r\n

最佳答案

我相信这会满足您的需求:

using System.Text.RegularExpressions;
// ...
string normalized = Regex.Replace(originalString, @"\r\n|\n\r|\n|\r", "\r\n");

我不是 100% 确定确切的语法,而且我手边没有 .Net 编译器可以检查。我用 perl 编写,并将其转换为(希望是正确的)C#。唯一真正的技巧是先匹配“\r\n”和“\n\r”。

要将其应用于整个流,只需在输入 block 上运行即可。 (如果需要,您可以使用流包装器执行此操作。)


原始的 perl:

$str =~ s/\r\n|\n\r|\n|\r/\r\n/g;

测试结果:

[bash$] ./test.pl
\r -> \r\n
\n -> \r\n
\n\n -> \r\n\r\n
\n\r -> \r\n
\r\n -> \r\n
\r\n\n -> \r\n\r\n

更新:现在将\n\r 转换为\r\n,但我不会称之为规范化。

关于c# - 在 C# 中规范化换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/140926/

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