我想從字符串中獲取最後5個數字/字符。例如,從"I will be going to school in 2011!"
,我想獲得"2011!"
。獲取字符串中的最後5個字符
任何想法?我知道Visual Basic有Right(string, 5)
;這不適合我,並給了我一個錯誤。
我想從字符串中獲取最後5個數字/字符。例如,從"I will be going to school in 2011!"
,我想獲得"2011!"
。獲取字符串中的最後5個字符
任何想法?我知道Visual Basic有Right(string, 5)
;這不適合我,並給了我一個錯誤。
您正在尋找Substring
method。
檢查錯誤:
Dim result As String = str
If str.Length > 5 Then
result = str.Substring(str.Length - 5)
End If
錯誤檢查:
result = str.Substring(Math.Max(0, str.Length - 5))
在2008年VB(VB 9.0)以後,前綴右()爲Microsoft.VisualBasic.Right(字符串,數字符)
昏暗str作爲字符串= 「Hello World」 的
MSGBOX(Microsoft.VisualBasic.Right(STR,5 ))
'World'
同樣適用於Left()。
我打開此線程尋找一個簡單問題的快速解決方案,但我發現這裏的答案要麼沒有幫助,要麼過於複雜。事實上,獲得字符串的最後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或「」,消息框只會彈出一個空白。
這篇文章的接受答案將導致錯誤的情況下,當字符串的長度是最少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))
暗淡了作爲字符串=微軟.VisualBasic.right(「我將在2011年上學!」,5) MsgBox(「值是:」& a)
什麼是錯誤?也許發佈一個代碼片段... – NealB 2010-05-11 18:48:43
我覺得Right()函數不再用在visual studio 2008中了。 – NULL 2010-05-11 18:52:02
在.NET 4.0中(使用Visual Studio 2012)'Right(myString,5)'確實有效,我正在成功使用它。 – Danwize 2014-08-22 22:38:32