String.Substring()
可以用于获取字符串的子串,它的作用是返回一个新的字符串,该字符串是原字符串的一个子集。
使用方法
String.Substring()
的使用方法如下:
string.Substring(int startIndex)
string.Substring(int startIndex, int length)
其中,startIndex
指定了要获取的子串的起始位置,从 0 开始计数,length
指定了要获取的子串的长度。
以获取字符串的子串为例,来说明其基本使用方法:
string str = "Hello, World!";
Console.WriteLine(str.Substring(0, 5)); // 输出 "Hello"
Console.WriteLine(str.Substring(7, 5)); // 输出 "Worl"
Console.WriteLine(str.Substring(7)); // 输出 "World!"
在第一个示例中,我们用 Substring()
方法从索引 0 开始获取长度为 5 的子串。这里我们就得到了字符串的前五个字符 "Hello"。
在第二个示例中,我们从索引位置 7 开始获取长度为 5 的子串。这里我们就得到了字符串的第七个字符 "W" 开始的 5 个字符 "World"。
在第三个示例中,我们只指定了 startIndex
参数,而没有指定 length
参数。此时我们得到的是从 startIndex
开始一直到字符串的末尾的子串 "World!"。
需要注意的是,当指定的 startIndex
大于或等于字符串的长度,或者 length
小于或等于零时,将会抛出异常。因此,在应用该方法时,一定要注意参数的范围。
示例
下面我们分别对两个具体的示例进行说明。
示例 1
下面的 C# 程序演示了如何使用 Substring()
方法从一个长字符串中获取一个子串。
using System;
class Example {
static void Main() {
string str = "This is a test string";
string substr1 = str.Substring(5); // 从 5 开始获取到字符串的末尾 "is a test string"
string substr2 = str.Substring(5, 2); // 从 5 开始获取 2 个字符 "is"
Console.WriteLine(substr1);
Console.WriteLine(substr2);
}
}
运行以上程序,得到以下输出结果:
is a test string
is
示例 2
在 C# 中,Substring()
方法常常应用于截取文本中的关键字,以进行语义分析、搜索引擎等一系列的文本处理工作。下面的示例演示了如何从 HTML 网页中获取所有超链接的列表。
using System;
using System.IO;
using System.Text.RegularExpressions;
class Example {
static void Main() {
string html = GetHtmlStringFromUrl("http://www.example.com");
MatchCollection links = Regex.Matches(html, @"<a\s+(?:[^>]*?\s+)?href=(?:'(?<href>[^']*)'|""(?<href>[^""]*)""|(?<href>\S+))[^>]*>(?<text>.*?)<\/a>", RegexOptions.IgnoreCase);
foreach (Match link in links) {
string href = link.Groups["href"].Value;
string text = link.Groups["text"].Value;
Console.WriteLine("{0} ({1})", text, href);
}
}
static string GetHtmlStringFromUrl(string url) {
System.Net.WebClient wc = new System.Net.WebClient();
wc.Encoding = System.Text.Encoding.UTF8; // 返回网页的编码格式
return wc.DownloadString(url);
}
}
在上述示例中,我们调用了 GetHtmlStringFromUrl()
方法从指定的 URL 获取 HTML 文本内容。接着,我们调用了 Regex.Matches 方法来搜索文本中所有匹配超链接的模式。最后,我们通过 Substring()
方法从超链接中提取出 href
和 text
两个参数。其中,href
指定了链接的URL,text
指定了链接的文本。
通过以上示例,我们可以看到 Substring() 方法的一个重要应用场景。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# String.Substring()方法: 检索此字符串中子字符串的指定部分 - Python技术站