我想从字符串中获取最后5位数/字符。例如,从"I will be going to school in 2011!"
开始,我想获得"2011!"
。
有什么想法吗?我知道Visual Basic有Right(string, 5)
;这对我没用,给了我一个错误。
答案 0 :(得分:53)
str.Substring(str.Length - 5)
答案 1 :(得分:25)
错误检查:
result = str.Substring(Math.Max(0, str.Length - 5))
答案 2 :(得分:5)
检查错误:
Dim result As String = str
If str.Length > 5 Then
result = str.Substring(str.Length - 5)
End If
答案 3 :(得分:3)
在VB 2008(VB 9.0)及更高版本中,前缀为Right()为Microsoft.VisualBasic.Right(字符串,字符数)
Dim str as String =" Hello World"
MSGBOX(Microsoft.VisualBasic.Right(STR,5))
'世界"
左()也是如此。
答案 4 :(得分:2)
当字符串长度小于5时,这篇文章的接受答案将导致错误。所以我有一个更好的解决方案。我们可以使用这个简单的代码:
If(str.Length <= 5, str, str.Substring(str.Length - 5))
您可以使用可变长度字符串对其进行测试。
Dim str, result As String
str = "11!"
result = If(str.Length <= 5, str, str.Substring(str.Length - 5))
MessageBox.Show(result)
str = "I will be going to school in 2011!"
result = If(str.Length <= 5, str, str.Substring(str.Length - 5))
MessageBox.Show(result)
我发现另一个简单而有效的解决方案:
str.Substring(str.Length - Math.Min(5,str.Length))
答案 5 :(得分:1)
我打开这个帖子寻找一个简单问题的快速解决方案,但我发现这里的答案要么没有帮助,要么过于复杂。实际上,获取字符串的最后5个字符的最佳方法是使用Right()方法。这是一个简单的例子:
Dim sMyString, sLast5 As String
sMyString = "I will be going to school in 2011!"
sLast5 = Right(sMyString, - 5)
MsgBox("sLast5 = " & sLast5)
如果您收到错误,那么您的语法可能有问题。 此外,使用Right()方法,您不必担心超出或超出字符串长度。在我的例子中,你可以输入10000而不是5,它只是MsgBox整个字符串,或者如果sMyString是NULL或“”,消息框只会弹出没有任何内容。
答案 6 :(得分:0)
foreach(var prop in cbpcs.GetType().GetProperties()) {
Console.WriteLine("{0}={1}", prop.Name, prop.GetValue(foo, null));}
答案 7 :(得分:0)
旧线程,但仅是要说:现在使用经典的Left()
,Right()
,Mid()
,您无需编写完整路径({{1} }。您可以像这样快速便捷地使用:
Microsoft.VisualBasic.Strings