我正在尝试构建一个包含换行符的字符串,并获得最奇怪的结果。此字符串将存储在SQL数据库中,以便稍后用作电子邮件的一部分。我的代码如下:
Dim strBody As String = "Andy," & Environment.NewLine
当我在调试会话期间检查strBody
的值时,它是以下内容:
"Andy," & vbCrlf
我显然希望更像是:
"Andy,"
知道,
之后的内容是隐藏的角色。
最终,问题是......当我将strBody
作为我的SQL insert
语句的一部分包含在内时,它在我的SQL insert
语句中显示为以下内容:
'Andy," & vbCrLf & "'
我昨天使用此代码并且工作正常。我在同一个asp.net项目的另一个函数中使用类似的代码,它工作正常。我尝试使用+
代替&
,我尝试使用vbCrLf代替Environment.NewLine
,我尝试使用stringbuilder
,我尝试过使用string.concat
。 & vbCrLf
中包含strBody
的所有结果都相同。
我是否有意外更改的设置?
我知道这很奇怪......非常感谢任何帮助。
答案 0 :(得分:0)
我相信你需要使用Char(10)和Char(13)的某些组合:
fun String.replaceSpaces(): String {
return this.replace(' ', '_')
}
val formatted = str.replaceSpaces()
There is a discussion about these and other methods on this thread.
答案 1 :(得分:0)
这只是Visual Studio,显示有新行字符(vbCrLf或Environment.NewLine)。如果您在任何地方使用该字符串,它将被正确存储。
答案 2 :(得分:0)
如果只需要在数据库中插入Environment.NewLine,就可以这样做。
Dim a As String = """ & Environment.NewLine & """
Dim strBody As String = String.Format("Andy,{0}", a)
'"Andy," & Environment.NewLine & ""