我想找到一個字符串的最後一個字符位置,然後放入一個IF,說明如果最後一個字符的位置等於A B或C,那麼做一個特定的動作。我如何獲得最後的角色位置?如何使用C#獲取字符串中子字符串的最後一個字符位置?
編輯: 例如: stringMain =「嗨,這是羅伯特!」 subString =「this」 現在,我想要在stringMain中找到s(s的位置)。
我想找到一個字符串的最後一個字符位置,然後放入一個IF,說明如果最後一個字符的位置等於A B或C,那麼做一個特定的動作。我如何獲得最後的角色位置?如何使用C#獲取字符串中子字符串的最後一個字符位置?
編輯: 例如: stringMain =「嗨,這是羅伯特!」 subString =「this」 現在,我想要在stringMain中找到s(s的位置)。
使用字符串方法:
if (string.EndsWith("A") || string.EndsWith("B"))
{
//do stuff here
}
繼承人的MSDN文章解釋這個方法:
http://msdn.microsoft.com/en-us/library/system.string.endswith(v=vs.71).aspx
我以爲你不真正想要的最後一個字符位置(這將是yourString.Length - 1
),但最後一個字符本身。你可以發現,通過與最後一個字符位置索引字符串:
yourString[yourString.Length - 1]
string
是zero based
陣列的char
。
char last_char = mystring[mystring.Length - 1];
至於問題的第二部分,如果char是A
,B
,C
使用if statement
char last_char = mystring[mystring.Length - 1];
if (last_char == 'A' || last_char == 'B' || last_char == 'C')
{
//perform action here
}
使用switch statement
switch (last_char)
{
case 'A':
case 'B':
case 'C':
// perform action here
break
}
'if'看起來會更好,因爲'switch',imo。 – oscilatingcretin 2013-02-10 03:20:58
我只是寫作開關,但有問題需要if語句! – 2013-02-10 03:21:52
我喜歡使用LINQ:
YourString.Last()
你需要導入System.Linq命名空間,如果你還沒有它。儘管如此,我不會導入命名空間來使用.Last()。
可能不是最快的,但絕對有趣。 – John 2013-02-10 03:23:10
最後的字符位置......是不是隻是'長度1'? – spender 2013-02-10 03:04:05
請閱讀有關'String'類的文檔,地址爲:http://msdn.microsoft.com/en-us/library/system.string.aspx – 2013-02-10 03:04:32
如果您從VB來到C#,您可能會發現「C#&VB.NET轉換「很有幫助。 http://www.amazon.com/gp/product/0596003196/ref=oh_details_o02_s00_i00 – John 2013-02-10 03:25:54