gpt4 book ai didi

c# - 将\r 后面没有\n 的所有实例替换为\r\n 的正则表达式

转载 作者:太空狗 更新时间:2023-10-29 23:12:50 24 4
gpt4 key购买 nike

\r 后面没有 时,如何用 \r\n 替换 \r\n 使用正则表达式?

问题

我在 Windows 上创建的文本编辑器出现问题,换行符被添加为\r。因此,当我在记事本中打开文件时,它们不会被读取为换行符。

我尝试了什么

我试过到处(谷歌、stackoverflow 等)寻找这个,但无法找到特别我所追求的东西。

到目前为止,我尝试过的所有操作都是在第一次之后完成的,但它会继续不必要地替换 \r,即使它们后面是一个\n

作为引用,这是表达式:

"\r(?!^\n)", "\r\n"

最佳答案

你需要使用

\r(?!\n)

也就是说,从 \r(?!^\n) 表达式中删除字符串/行修饰符的 ^ 开头。 \r 将匹配一个回车符,而 (?!\n) 将匹配失败,如果它的右侧紧邻一个 LF。

A C# demo:

var s = "Line1\rLine2\r\nLine3";
var res = Regex.Replace(s, "\r(?!\n)", "\r\n");
Console.WriteLine(res.Replace("\r","CR").Replace("\n","LF\n"));
// => Line1CRLF
// Line2CRLF
// Line3

关于c# - 将\r 后面没有\n 的所有实例替换为\r\n 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41423081/

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