【发布时间】:2011-06-21 20:00:31
【问题描述】:
我想在字符串中插入以下内容
<p>some text here</p>
<p>some text here</p>
<p>some text here</p>
我希望它变成如下的字符串
<p>some text here</p><p>some text here</p><p>some text here</p>
即没有回车。
我如何做到这一点?
【问题讨论】:
我想在字符串中插入以下内容
<p>some text here</p>
<p>some text here</p>
<p>some text here</p>
我希望它变成如下的字符串
<p>some text here</p><p>some text here</p><p>some text here</p>
即没有回车。
我如何做到这一点?
【问题讨论】:
怎么样:
string s = orig.Replace("\n","").Replace("\r","");
应该处理常见的行尾。
或者,如果您对该字符串进行了硬编码或在运行时对其进行组装 - 只需不要一开始就添加换行符。
【讨论】:
如果您也想删除行首/行尾的空格(在缩短 html 时很常见),您可以尝试:
string.Join("",input.Split('\n','\r').Select(s=>s.Trim()))
其他使用简单的Replace Marc 建议。
【讨论】:
由于您使用的是 VB.NET,因此您需要以下代码:
Dim newString As String = origString.Replace(vbCr, "").Replace(vbLf, "")
您可以在 C# 中使用转义字符(\r 和 \n),但这些在 VB.NET 中不起作用。您必须改用等效的常量(vbCr 和 vbLf)。
【讨论】:
将您的字符串分配给一个变量,然后将换行符和回车符替换为空,如下所示:
myString = myString.Replace(vbCrLf, "")
【讨论】:
vbCrLf 实际上被定义为vbCr + vbLf,它不存在于字符串中,但我不确定。将它们拆分是从字符串中删除行返回的唯一解决方案;请参阅我的答案以获取示例。
在 VB.NET 中有一个vbCrLf constant 用于换行:
Dim s As String = "your string".Replace(vbCrLf, "")
【讨论】:
vbCrLf 实际上被定义为vbCr + vbLf,它不存在于字符串中,但我不确定。将它们拆分是从字符串中删除行返回的唯一解决方案;请参阅我的答案以获取示例。
你也可以试试:
string res = string.Join("", sample.Split(Environment.NewLine.ToCharArray())
Environment.NewLine 应该使其独立于平台。
【讨论】:
使用正则表达式怎么样?
var result = Regex.Replace(input, "\r\n", String.Empty)
如果您只想在最后删除新行,请使用此
var result = Regex.Replace(input, "\r\n$", String.Empty)
【讨论】:
我今天在我的代码中遇到了同样的问题,并尝试了它的魅力。
.Replace("\r\n")
【讨论】:
对于 VB.net
vbcrlf = environment.newline...
Dim MyString As String = "This is a Test" & Environment.NewLine & " This is the second line!"
Dim MyNewString As String = MyString.Replace(Environment.NewLine,String.Empty)
【讨论】: