4

您能否提供一个正则表达式,我可以用它来替换字符串中的所有内容\r\n,只有当前\r\n没有?.

4

2 回答 2

7

要匹配一个字符,您可以将字符放在括号内,例如[.]. 要不匹配它,您可以使用插入符号开始字符列表,例如[^.]. 这将有效匹配任何不是..

对于您的特定情况,您希望匹配前面\r\n没有 a的匹配项。.结合以上内容,可以使用:

[^.]\r\n

要替换它,您需要“捕获”不是句号的字符以将其保留在替换中。您可以通过将其包裹在括号中来捕获它,例如([^.]).

使用Regex.Replace(),它会是这样的:

yourString = Regex.Replace(yourString, @"([^.])\r\n", "$1");

是匹配的$1字符,并被重新替换回字符串中,现在去掉了\r\n.

于 2013-02-05T19:30:30.930 回答
2

我认为这会奏效

Regex.Replace(input, @"([^.]?)\r\n", "$1");
于 2013-02-05T19:30:07.390 回答