C# 如何将RichTextBox文档中的多个\r\n替换为正则表达式?
我已经试过了。我在RichTextBox中有由运行组成的段落。每次运行都由一个字符串组成,其中嵌入了无、一或多个“\r\n”。如果有多个“\r\n”同时存在,则需要删除除第一个“\r\n”以外的所有“\r\n”,并将剩余的“\r\n”替换为“|”。该文件将有许多这样的段落 也就是说,给定以下字符串: 这是一个\r\n\r\n测试。或\r\n\r\n\r\n此\r\n 我需要这个字符串: 这是一个测试。或者|这个| 如何使用正则表达式(C#.Net 4.5)实现这一点 短暂性脑缺血发作 (我研究过类似的问题,但似乎没有弄对:() 编辑: 感谢所有帮助过我的人。对于任何来到这里的人来说,对我来说,正确的答案实际上是我收到的答案的组合。也就是说,这两个答案 在我的情况下工作正常C# 如何将RichTextBox文档中的多个\r\n替换为正则表达式?,c#,regex,C#,Regex,我已经试过了。我在RichTextBox中有由运行组成的段落。每次运行都由一个字符串组成,其中嵌入了无、一或多个“\r\n”。如果有多个“\r\n”同时存在,则需要删除除第一个“\r\n”以外的所有“\r\n”,并将剩余的“\r\n”替换为“|”。该文件将有许多这样的段落 也就是说,给定以下字符串: 这是一个\r\n\r\n测试。或\r\n\r\n\r\n此\r\n 我需要这个字符串: 这是一个测试。或者|这个| 如何使用正则表达式(C#.Net 4.5)实现这一点 短暂性脑缺血发作 (我研究过
Regex.Replace(s, "(\r\n)+", "| ")
Regex.Replace(s, @"(\r\n)+","| ")
以下是一个工作示例:
string s = @"This \r\n is a \r\n\r\n Test. Or, \r\n\r\n\r\n this \r\n.";
string n = Regex.Replace(s, @"(\\r\\n)+", "|");
Console.WriteLine(n);
输出:
这是一个测试
模式末尾的
+
符号表示前面的字符出现一次或多次。这样,它还将捕获多个\r\n\r\n
以下是一个工作示例:
string s = @"This \r\n is a \r\n\r\n Test. Or, \r\n\r\n\r\n this \r\n.";
string n = Regex.Replace(s, @"(\\r\\n)+", "|");
Console.WriteLine(n);
输出:
这是一个测试
模式末尾的
+
符号表示前面的字符出现了一次或多次。这样,它还将捕获多个\r\n\r\n
我假定,您有成对的CF/LF字符,而不是\
+r
+\
>+>
+@
)
写入@“xx\r\n”
会导致此类字符串包含:
- 2个字符
- 反斜杠和
r
- 反斜杠和
n
string s = @"This \r\n is a \r\n\r\n Test. Or, \r\n\r\n\r\n this \r\n.";
Console.WriteLine(s);
你应该写:
string s = "This \r\n is a \r\n\r\n Test. Or, \r\n\r\n\r\n this \r\n.";
string n = Regex.Replace(s, "(\r\n)+", "|");
Console.WriteLine(n);
我假设您有成对的CF/LF字符,而不是
\
+r
+\
+\
+n
如果是这种情况,则不应在此处使用逐字字符串
(实际字符串前面带有@
)
写入@“xx\r\n”
会导致此类字符串包含:
- 2个字符
- 反斜杠和
r
- 反斜杠和
n
string s = @"This \r\n is a \r\n\r\n Test. Or, \r\n\r\n\r\n this \r\n.";
Console.WriteLine(s);
你应该写:
string s = "This \r\n is a \r\n\r\n Test. Or, \r\n\r\n\r\n this \r\n.";
string n = Regex.Replace(s, "(\r\n)+", "|");
Console.WriteLine(n);
string output=Regex.Replace(“此\r\n是一个\r\n\r\n测试。或\r\n\r\n\r\n此\r\n”、“\\\\r\\\\\n”、“|”);
应能工作string output=Regex.Replace(“此\r\n\r\n测试。或,\r\n\r\n\r\n\n\r\n此\r\n”、“\\\\\r\\\n”、“\r\n”应能工作;
应能工作