Vb.net 检查字符串是否以vbCrLf开头或结尾

Vb.net 检查字符串是否以vbCrLf开头或结尾,vb.net,string,Vb.net,String,如何检查字符串是否以vbCrLf开头(或结尾) 我尝试过使用子字符串,但似乎不起作用: Dim s As String = "" s &= vbCrLf & "Test" If s.Substring(0, 1) = vbCrLf Then MsgBox("Yes") End If 试试这个 StartsWith-检查字符串的第一部分 EndsWith-检查字符串的最后一个字符 我相信你是在问,是否有一种方法可

如何检查字符串是否以
vbCrLf
开头(或结尾)

我尝试过使用
子字符串
,但似乎不起作用:

Dim s As String = ""
s &= vbCrLf & "Test"
If s.Substring(0, 1) = vbCrLf Then
    MsgBox("Yes")
End If
试试这个

StartsWith-检查字符串的第一部分

EndsWith-检查字符串的最后一个字符


我相信你是在问,是否有一种方法可以确定绳子是否以线刹车开始。[换行返回](vbLf)或[回车符返回](vbCr)。我使用Chr值来实现这一点。Chr(13)是vbCr。Chr(10)是vbLf。您可以使用Asc找出字符串的第一个Chr是什么。像这样的东西

Dim s As String = vbCr & "bla bla bla"

If Asc(s) = 13 Then
    MsgBox("s strats with a Carriage Return")
else If Asc(s) = 10 Then
    MsgBox("s strats with a Line Feed Return")
End If
如果您在这些方面有问题,可以使用Left(和Right)代替.StartsWith/.EndsWith

Dim s As String
s = vbCrLf & "Test"
If Left(s, Len(vbCrLf)) = vbCrLf Then
    MsgBox("Yes")
End If
我能想到的确定字符串是否包含其他字符串的最简单解决方案是使用split函数:

Dim s As String
Dim i As Integer
Dim v As Variant
s = vbCrLf & "Test"
i = Split(s, vbCrLf)
For Each item In i
    j = j + 1
Next item
If j > 1 or vbCrLf = "" Then
    MsgBox("Yes")
End If

请注意,这在默认情况下使用依赖于区域性的字符串比较。例如,在我所知道的所有文化中,
“Strassenbahn”。StartsWith(“Straße”)
都是
真的
。还有其他的
StartsWith
EndsWith
重载,您可以在其中指定顺序比较,或指定依赖于区域性的比较,但使用
InvariantCulture
。请注意,OP代码不起作用的原因是vbcrlf是两个字符。”如果s.Substring(0,2)=vbCrLf'按预期工作。
Dim s As String
s = vbCrLf & "Test"
If Left(s, Len(vbCrLf)) = vbCrLf Then
    MsgBox("Yes")
End If
Dim s As String
Dim i As Integer
Dim v As Variant
s = vbCrLf & "Test"
i = Split(s, vbCrLf)
For Each item In i
    j = j + 1
Next item
If j > 1 or vbCrLf = "" Then
    MsgBox("Yes")
End If