本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

String.LastIndexOf 方法 (String)

 

报告指定字符串在此实例中的最后一个匹配项的从零开始的索引的位置。

命名空间:   System
程序集:  mscorlib(位于 mscorlib.dll)

public int LastIndexOf(
	string value
)

参数

value
Type: System.String

要搜寻的字符串。

返回值

Type: System.Int32

如果找到该字符串,则为 value 的从零开始的起始索引位置;如果未找到该字符串,则为 -1。 如果 valueString.Empty,则返回值为此实例中的最后一个索引位置。

Exception Condition
ArgumentNullException

valuenull

编号从零开始的索引。 也就是说,在字符串中的第一个字符位于索引零开始,最后一个位于 Length -1。

搜索此实例的最后一个字符位置开始字符和其后面开始直到 value 找到或已检查完第一个字符位置。

此方法用于执行使用当前区域性的单词 (区分大小写和区分区域性) 搜索。

字符集包括可忽略字符,在执行语言性的或区分区域性的比较时该字符不被考虑。 在区分区域性的搜索中,如果 value 包含一个可忽略字符,则结果与移除了该字符的搜索等效。 如果 value 仅由一个或多个可忽略字符,组成 LastIndexOf(String) 方法始终返回 String.Length – 1,表示当前实例中的最后一个索引位置。 在下面的示例中, LastIndexOf(String) 方法用于在两个字符串中查找三个子字符串 (软连字符 (U + 00AD)、 软连字符后跟"n"和软连字符后跟"m")。 只有一个字符串包含软连字符。 如果在上运行该示例 .NET Framework 4 或更高版本,每种情况下,因为软连字符是一个可忽略字符,因此结果是相同像该软连字符必须不包含在 value 在搜索软连字符,该方法将返回 6 和 5。 这些值对应于两个字符串中的最后一个字符的索引。

using System;

public class Example
{
   public static void Main()
   {
      string s1 = "ani\u00ADmal";
      string s2 = "animal";

      // Find the index of the last soft hyphen.
      Console.WriteLine(s1.LastIndexOf("\u00AD"));
      Console.WriteLine(s2.LastIndexOf("\u00AD"));

      // Find the index of the last soft hyphen followed by "n".
      Console.WriteLine(s1.LastIndexOf("\u00ADn"));
      Console.WriteLine(s2.LastIndexOf("\u00ADn"));

      // Find the index of the last soft hyphen followed by "m".
      Console.WriteLine(s1.LastIndexOf("\u00ADm"));
      Console.WriteLine(s2.LastIndexOf("\u00ADm"));
   }
}
// The example displays the following output:
//       6
//       5
//       1
//       1
//       4
//       3

调用函数说明:

中所述 在 .NET Framework 中使用字符串的最佳做法, ,我们建议您避免调用替换为默认值,而是调用需要使用参数来显式指定的方法的字符串比较方法。 若要使用当前区域性的比较规则查找的字符串实例内的子字符串的最后一个索引,请调用 LastIndexOf(String, StringComparison) 方法重载,值为 StringComparison.CurrentCulture 为其 comparisonType 参数。

以下示例删除开始和结束的字符串,如果标记开始和结束字符串从 HTML 标记。 如果字符串结尾以右括号字符 (">"),该示例使用 LastIndexOf 方法来查找结束标记的开头。

using System;

public class Example 
{
   public static void Main() 
   {
      string[] strSource = { "<b>This is bold text</b>", "<H1>This is large Text</H1>",
               "<b><i><font color=green>This has multiple tags</font></i></b>",
               "<b>This has <i>embedded</i> tags.</b>",
               "This line ends with a greater than symbol and should not be modified>" };

      // Strip HTML start and end tags from each string if they are present.
      foreach (string s in strSource)
      {
         Console.WriteLine("Before: " + s);
         string item = s;
         // Use EndsWith to find a tag at the end of the line.
         if (item.Trim().EndsWith(">")) 
         {
            // Locate the opening tag.
            int endTagStartPosition = item.LastIndexOf("</");
            // Remove the identified section, if it is valid.
            if (endTagStartPosition >= 0 )
               item = item.Substring(0, endTagStartPosition);

            // Use StartsWith to find the opening tag.
            if (item.Trim().StartsWith("<"))
            {
               // Locate the end of opening tab.
               int openTagEndPosition = item.IndexOf(">");
               // Remove the identified section, if it is valid.
               if (openTagEndPosition >= 0)
                  item = item.Substring(openTagEndPosition + 1);
            }      
         }
         // Display the trimmed string.
         Console.WriteLine("After: " + item);
         Console.WriteLine();
      }                   
   }
}
// The example displays the following output:
//    Before: <b>This is bold text</b>
//    After: This is bold text
//    
//    Before: <H1>This is large Text</H1>
//    After: This is large Text
//    
//    Before: <b><i><font color=green>This has multiple tags</font></i></b>
//    After: <i><font color=green>This has multiple tags</font></i>
//    
//    Before: <b>This has <i>embedded</i> tags.</b>
//    After: This has <i>embedded</i> tags.
//    
//    Before: This line ends with a greater than symbol and should not be modified>
//    After: This line ends with a greater than symbol and should not be modified>

通用 Windows 平台
自 8 起可用
.NET Framework
自 1.1 起可用
可移植类库
可移植 .NET 平台 中受支持
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
Windows Phone
自 8.1 起可用
返回页首
显示: