我想找到一个字符串的最后一个字符位置然后放入一个IF,说明如果最后一个字符位置等于A B或C则执行某个操作。如何获得最后一个角色?
编辑: 例: stringMain =“嗨,这是罗伯特!” subString =“this” 现在,我想在stringMain中找到s(s)的位置。
答案 0 :(得分:33)
使用endswith
字符串方法:
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
答案 1 :(得分:8)
我假设您实际上并不想要最后一个字符位置(可能是yourString.Length - 1
),而是最后一个字符本身。您可以通过使用最后一个字符位置索引字符串来找到它:
yourString[yourString.Length - 1]
答案 2 :(得分:7)
我喜欢使用Linq:
YourString.Last()
如果您尚未拥有System.Linq命名空间,则需要导入该命名空间。我不会导入命名空间只是为了使用.Last()。
答案 3 :(得分:5)
string
是zero based
的{{1}}数组。
char
关于问题的第二部分,如果字符为char last_char = mystring[mystring.Length - 1];
,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
答案 4 :(得分:1)
有一个 index-from-end 运算符,如下所示:^n
。
var list = new List<int>();
list[^1] // this is the last element
list[^2] // the second-to-last element
list[^n] // etc.