回答
如果你想在你可以使用LINQ查詢字符串中的最後一個字母字符,如(C#):
var d = from c in myString.ToCharArray().Reverse()
where Char.IsLetter(c)
select c;
return d.First();
請參閱問題:VB字符串。 – NTDLS 2010-02-24 16:01:12
string.Substring(string.Length - 2,1);
對不起它已經有一段時間,因爲我做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代碼。
使用Substring
上包含「V1245-12V0」
s.Substring(s.Length - 2, 1);
請問我爲什麼這是downvoted?正如其他人曾經以類似的形式提到過這種... ... downvote和不留下評論被認爲是非常粗魯和無知,這是違背SO的精神。如果我低估了你的回答,不發表評論,你不知道是什麼原因......你會如何? – t0mm13b 2010-02-24 16:12:33
這可能來自Joel Potter不同意使用子字符串。如果你注意到使用Substring的每個答案都被低估了,即使它是基於我們提供的信息的完美解決方案。downvote國際海事組織是一個答案,不解決原來的問題,不是因爲某人的個人喜好。 – 2010-02-24 16:25:06
@安迪:我發表了評論,他的回答.... – t0mm13b 2010-02-24 16:39:56
你可以有自己的功能,如
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
,並利用它們來獲得你所需要的字符串s。
This _is_ VB:你已經有'Left','Mid'和'Right'了。 – 2016-08-27 18:28:02
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)
是不是很難?
dim mychar as string
dim yourstring as string
yourstring="V1245-12V0"
mychar=yourstring.Substring(yourstring.Length - 2, 1)
不要使用子得到的只是一個字符
Dim MyString As String = "V1245-12V0"
Dim MyChar As Char = MyString(MyString.Length - 2)
我同意。看不到爲什麼80%的答案選擇了這種方法。 – Joel 2010-02-24 16:04:00
基於OP後來想用這個角色做什麼更靈活。我會使用字符串來支持字符串的唯一原因是,除非我絕對確信它將始終是一個必需的字符,並且有人不會說「實際上我現在想要字符串中的2個字符」,或者我絕望地缺乏內存,比如嵌入式設備。 – 2010-02-24 16:29:34
這裏是一個VB的解決方案:
Dim text = "V1245-12V0"
Dim v = Left(Right(text, 2), 1)
你做不需要檢查的text
長度,除了你的語義是什麼你想爲空發生(和Nothing
)和單個字符字符串。
- 1. 只顯示最後一個字符串的字符串數組
- 2. 刪除字符串的最後一個字符(VB.NET 2008)
- 3. C#只寫最後一個字符串
- 4. 只匹配最後一個下劃線後有字符串的字符串
- 5. 在字符'?'之後從字符串中獲取最後一個字符串
- 6. 字符串的第一個字符和最後一個字符
- 7. 如何替換隻有一個字符,並且最後一個字符串
- 8. 最後一個字符串
- 9. 字符串中最後一個數字
- 10. 驗證字符串有沒有空間字符,只有第一和最後一個字符作爲分隔符
- 11. 刪除字符串中最後一個空格後的最後一個字符
- 12. cout:最後一個字符串覆蓋第一個字符串
- 13. 只刪除字符串ArrayList中的最後一個字
- 14. 最後,但在一個字符串在VB.NET
- 15. 在字符串中找不到字符串:只有一個字符
- 16. 動態刪除最後一個字符串後/從字符串
- 17. VB.NET字符串操作 - 只有一個字母帽的帽子
- 18. 獲取字符串中的最後一個子字符串?
- 19. 僅在最後一個字符更新後保留字符串
- 20. 在字符串中彈出最後一個字符
- 21. 在Excel中提取字符串的最後一個字符
- 22. 有條件地替換字符串的最後一個字符
- 23. 去掉字符串中的最後一個字符和第一個字符
- 24. 從C字符串中剝離第一個字符和最後一個字符
- 25. 刪除字符串中的最後一個字符和第一個字符
- 26. 只有第一個字符在pinvoke字符串中傳遞
- 27. 大寫字母只能在字符串中最後4個字符
- 28. PHP在最後一個字符串
- 29. Datastage,只刪除字符串的最後兩個字符
- 30. vb.net SQL連接字符串,只寫入數據庫中的最後一個值
您是否總是希望字符串中的第二個字符或最後一個字符?這個問題有點含糊。 – JoshBerke 2010-02-24 15:58:35