如何在vbstring中找到最后一个字符
例如在字符串V1245-12V0中,我想返回V
答案 0 :(得分:4)
不要使用子字符串来获取一个字符
Dim MyString As String = "V1245-12V0"
Dim MyChar As Char = MyString(MyString.Length - 2)
答案 1 :(得分:2)
很抱歉,自从我做VB以来已经有一段时间了,所以这可能不完美(可能是C#和VB的混合物),但你明白了这一点:
Dim s = "V1245-12V0"
Dim lastButOneLetter = String.Empty
If s.Length > 1 Then
'Can only get the last-but-one letter from a string that is minimum 2 characters
lastButOneLetter = s.Substring(s.Length - 2, 1)
Else
'do something if string is less than 2 characters
End If
编辑:修改为可编译的VB.NET代码。
答案 2 :(得分:1)
Dim secondToLastChar As Char
secondToLastChar = Microsoft.VisualBasic.Strings.GetChar(mystring, mystring.Length - 2)
http://msdn.microsoft.com/en-us/library/4dhfexk4(VS.80).aspx
或者只记得任何字符串都是字符数组;
secondToLastChar = mystring(mystring.Length - 2)
答案 3 :(得分:0)
string.Substring(string.Length - 2,1);
答案 4 :(得分:0)
在包含'V1245-12V0'
的字符串s上使用Substring
s.Substring(s.Length - 2, 1);
答案 5 :(得分:0)
如果要获取字符串中的最后一个字母字符,可以使用LINQ查询,例如(C#):
var d = from c in myString.ToCharArray().Reverse()
where Char.IsLetter(c)
select c;
return d.First();
答案 6 :(得分:0)
难吗?
dim mychar as string
dim yourstring as string
yourstring="V1245-12V0"
mychar=yourstring.Substring(yourstring.Length - 2, 1)
答案 7 :(得分:0)
这是一个VB解决方案:
Dim text = "V1245-12V0"
Dim v = Left(Right(text, 2), 1)
你不需要检查text
的长度,除了你想要为空(和Nothing
)和单个字符串发生什么的语义
答案 8 :(得分:-1)
您可以拥有自己的功能,例如
Function Left(ByVal str as string, byval index as integer) As String
Left=str.Substring(0,index);
End Function
Function Right(ByVal str as string, byval index as integer) As String
Right=str.Substring(str.Length-index)
End Function
使用它们来获得你需要的东西。