如何使用C#Regexes匹配任意字符串中的最后一个字符?

时间:2009-11-18 02:45:45

标签: .net regex

明显的尝试是:

Regex.Replace(input, @".$", "X", RegexOptions.Singleline);

但这并不总是有效。考虑字符串\r\n\r\n - 上面会产生令人惊讶的\r\nXX结果。人们可能期望阅读MSDN(在 Multiline 下)$应该在整个字符串的末尾匹配,但显然$实际上意味着“匹配于字符串的结尾或字符串“。

之前的\n

匹配任意字符串的最后一个字符的正确方法是什么?

1 个答案:

答案 0 :(得分:8)

.NET支持\z令牌,该令牌始终与字符串的结尾匹配:

Regex.Replace(input, @".\z", "X", RegexOptions.Singleline);