如何使用正则表达式替换所有类型的换行符(CR,LF和CrLf)?
我尝试了“\ n”和“\ r \ n”的不同组合,但没有找到它们。
formatedString = System.Text.RegularExpressions.Regex.Replace(text, "\r\n", "[Exp 1]")
以下代码完成了这项工作,但它让我觉得我似乎无法使用Regexp替换换行符。
formatedString = formatedString.Replace(Environment.NewLine, "[Environment.NewLine]") ' Equals CR
formatedString = formatedString.Replace(ControlChars.CrLf, "[ControlChars.CrLf]") ' CR and LF
formatedString = formatedString.Replace(ControlChars.Cr, "[ControlChars.Cr]") ' Carriage Return (CR)
formatedString = formatedString.Replace(ControlChars.Lf, "[ControlChars.Lf]") ' Line Feed (LF)
欢迎所有建议! :)
答案 0 :(得分:4)
答案 1 :(得分:0)
答案 2 :(得分:0)
经过测试,可以正常工作:
dim source = String.Concat("Some string", VbLf, "with", VbCr, "line", VbCrLf, "breaks")
dim result = Regex.Replace(source, "[\r\n]", " ")
答案 3 :(得分:-1)
基本上你正在做正确的事情,除非你需要改变
formatedString = System.Text.RegularExpressions.Regex.Replace(text, "\n\r", "[Exp 1]")
到
formatedString = System.Text.RegularExpressions.Regex.Replace(text, "[\n\r]", "[Exp 1]")
即。 只需添加[] 即可使其与\ r或\ n而非“\ n \ r”匹配。
希望这有帮助