获取字符串中的最后5个字符

时间:2010-05-11 18:44:32

标签: vb.net

我想从字符串中获取最后5位数/字符。例如,从"I will be going to school in 2011!"开始,我想获得"2011!"

有什么想法吗?我知道Visual Basic有Right(string, 5);这对我没用,给了我一个错误。

8 个答案:

答案 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