如何使用C#获取字符串中子字符串的最后一个字符位置?

时间:2013-02-10 03:01:40

标签: c#

我想找到一个字符串的最后一个字符位置然后放入一个IF,说明如果最后一个字符位置等于A B或C则执行某个操作。如何获得最后一个角色?

编辑: 例: stringMain =“嗨,这是罗伯特!” subString =“this” 现在,我想在stringMain中找到s(s)的位置。

5 个答案:

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

stringzero based的{​​{1}}数组。

char

关于问题的第二部分,如果字符为char last_char = mystring[mystring.Length - 1]; AB

使用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.

official documentation about indices and ranges 描述了这个运算符。