小问题,来看看吧 正则表达式替换换行和回车符

coolyj2012 2012-07-06 10:15:06
现在需要把后面没有跟\n的\r替换成\r\n,
这个正则应该怎么写啊
提供一个不正确的伪码,仅供参考

//需要匹配的字符串
var str = 'ABC\r\rDEF\r\n';
//匹配规则(这个怎么写?)
var regStr = ?;
Regex r = new Regex(str, RegexOptions.IgnoreCase | RegexOptions.Compiled);
if (r.IsMatch(str))
{
str = r.Replace(str , "\r\n");
}
PS:只能用正则
...全文
96 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolyj2012 2012-07-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

应该是这样的吧
string regStr = @"(?(\r\n)\r\n|(\r))";

因为他只要求把单独\r变成\r\n,而没要求单独\n也变成\r\n
[/Quote]

谢谢 maji_lulu,你的我试过了 正确的
maji_lulu 2012-07-06
  • 打赏
  • 举报
回复
应该是这样的吧
string regStr = @"(?(\r\n)\r\n|(\r))";

因为他只要求把单独\r变成\r\n,而没要求单独\n也变成\r\n
ParanoidKing 2012-07-06
  • 打赏
  • 举报
回复
\\r(?!\\n)
  • 打赏
  • 举报
回复
 var str = "ABC\r\rDEF\r\n";
//匹配规则(这个怎么写?)
string regStr = @"(?(\r\n)\r\n|(\r|\n))";
Regex r = new Regex(regStr, RegexOptions.IgnoreCase | RegexOptions.Compiled);

str = r.Replace(str, "\r\n");//ABC\r\n\r\nDEF\r\n

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧