使用VB.NET替换字符串中的换行符(LF字符)

3
明显的是,LF字符无法被捕获。
foo.Replace(Environment.NewLine, String.Empty)

Nor does...

foo.Replace("\r\n", "").Replace("\n", "").Replace("\r", "")

文件本身是一个多行的XML文件。XML声明之前的换行符会使字符串无效。

1
制表符与换行符有什么关系? - Hans Passant
你尝试过使用 ControlChars.CrLf 吗? - Stewbob
“replacewith” 的值是多少,你是如何使用上面的代码的?你只发布了一个非常小的片段,并没有提供“完整的代码”——很难知道你在寻找什么。 - Steven_W
我的打赌是,你正在解决一个错误的问题。可能在开头有字节顺序标记或其他类似的问题?确保你处理的是一个真正的换行符。 - Tronic
2
你可能只是缺少 foo = foo.Replace..... - Alxandr
显示剩余2条评论
1个回答

7

VB.NET不使用C风格的转义符CR或LF。在VB中,您的第二个示例的翻译如下:

foo.Replace(vbNewLine, replaceWith).Replace(vbLF, replaceWith).Replace(vbCR, replaceWith)

+1 显然应该是 bah=foo.Replace(...),因为 Replace 不会改变字符串。 - MarkJ
只是补充一下,如果你想要更改foo的内容,可以使用foo = foo.Replace。 - CResults

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接