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

String.Substring 方法 (Int32)

 

从此实例检索子字符串。 子字符串在指定的字符位置开始并一直到该字符串的末尾。

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

public string Substring(
	int startIndex
)

参数

startIndex
Type: System.Int32

此实例中子字符串的起始字符位置(从零开始)。

返回值

Type: System.String

与此实例中在 startIndex 处开头的子字符串等效的一个字符串;如果 Empty 等于此实例的长度,则为 startIndex

Exception Condition
ArgumentOutOfRangeException

startIndex 小于零或大于此实例的长度。

你调用Substring方法以从指定的字符位置开始且在字符串的结尾结束的字符串中提取子字符串。 起始字符位置是从零开始;换而言之,在字符串中的第一个字符位于索引 0,不得索引 1 处。 若要提取子字符串的指定的字符位置开始和结束之前到字符串的末尾,调用Substring方法。

System_CAPS_note说明

此方法不会修改当前实例的值。 相反,它将返回一个新字符串,开始startIndex当前字符串中的位置。

若要提取特定字符或字符序列开头的子字符串,调用方法如IndexOfIndexOf若要获取的值startIndex 第二个示例阐释了这一点;它提取一个密钥值,在"="字符之后开始一个字符位置。

如果startIndex等于零,该方法将返回原始字符串保持不变。

下面的示例演示如何获取从字符串的子字符串。

using System;

public class SubStringTest {
    public static void Main() {
        string [] info = { "Name: Felica Walker", "Title: Mz.", 
                           "Age: 47", "Location: Paris", "Gender: F"};
        int found = 0;

        Console.WriteLine("The initial values in the array are:");
        foreach (string s in info)
            Console.WriteLine(s);

        Console.WriteLine("\nWe want to retrieve only the key information. That is:");        
        foreach (string s in info) {
            found = s.IndexOf(": ");
            Console.WriteLine("   {0}", s.Substring(found + 2));
        }
    }
}
// The example displays the following output:
//       The initial values in the array are:
//       Name: Felica Walker
//       Title: Mz.
//       Age: 47
//       Location: Paris
//       Gender: F
//       
//       We want to retrieve only the key information. That is:
//          Felica Walker
//          Mz.
//          47
//          Paris
//          F

下面的示例使用Substring方法来分隔由等于分隔的键/值对 ("=") 字符。

using System;

public class Example
{
   public static void Main()
   {
      String[] pairs = { "Color1=red", "Color2=green", "Color3=blue",
                         "Title=Code Repository" };
      foreach (var pair in pairs) {
         int position = pair.IndexOf("=");
         if (position < 0)
            continue;
         Console.WriteLine("Key: {0}, Value: '{1}'", 
                           pair.Substring(0, position),
                           pair.Substring(position + 1));
      }                          
   }
}
// The example displays the following output:
//     Key: Color1, Value: 'red'
//     Key: Color2, Value: 'green'
//     Key: Color3, Value: 'blue'
//     Key: Title, Value: 'Code Repository'

The M:System.String.IndexOf(System.String) method is used to get the position of the equals character in the string.. The call to the M:System.String.Substring(System.Int32,System.Int32) method extracts the key name., which starts from the first character in the string and extends for the number of characters returned by the call to the M:System.String.IndexOf(System.String) method. The call to the M:System.String.Substring(System.Int32) method then extracts the value assigned to the key. It starts at one character position beyond the equals character and extends to the end of the string.

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