C#核心开发-第16单元-字符串-第2节:截取字符串

java 根据特殊符号截取中间字符 java根据符号截取字符串_System

C#核心开发-截取字符串

1. 什么是截取字符串?

截取字符串是指在一个比较长的字符串中截取一部分有用、有意义的子字符串。

在C#中,可以使用Substring()方法在字符串中截取子字符串,可以从指定的位置开始截取,也可以指定截取字符串的个数。

2. 如何截取字符串?

如下图是在VS2019创建的.NET控制台应用程序的Main()方法中编写截取字符串的代码:

java 根据特殊符号截取中间字符 java根据符号截取字符串_子字符串_02

C#截取字符串代码-图1

在C#中使用Substring()方法截取字符串的2种方法完整代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Text.RegularExpressions;namespace Yidosoft.Edu.Csharp.StringRegEx{class Program{static void Main(string[] args){Console.Title = "一都编程 - 字符串";//截取string s1 = str.Substring(2);string s2 = str.Substring(2, 3);Console.WriteLine($"s1={s1}");Console.WriteLine($"s2={s2}");Console.ReadKey();}}}

3. 截取字符串代码说明

截取字符串的代码说明如下:

(1). Substring(2)表示从索引值为2的位置开始截取,截取到最后,索引值是从0开始的。

(2). Substring(2, 3)表示从索引值为2的位置开始截取,共截取3个,索引值是从0开始的。

将上面的C#代码运行一下结果,如下图所示:

java 根据特殊符号截取中间字符 java根据符号截取字符串_System_03

C#截取字符串的结果-图2

图2的结果说明如下:

(1). str.Substring(2),原字符串"小强今天早上为了梦想而起的特别早。",从索引值为2的位置开始向后截取:

java 根据特殊符号截取中间字符 java根据符号截取字符串_c#截取字符串指定符号_04

从指定索引位置截取-图3

从图3可以得知,“今”所在的位置是索引值为2,从2开始向后全部截取,包含索引值为2所在位置的值,所以最终截取的子字符串就是:“今天早上为了梦想而起的特别早。”

(2). str.Substring(2, 3),原字符串:“小强今天早上为了梦想而起的特别早。”,从索引值为2的位置开始向后截取,共截取3个:

java 根据特殊符号截取中间字符 java根据符号截取字符串_字符串_05

截取指定数量-图4

在图4中,索引值为2位置的值是“今”,然后向后截取3个,就是“今天早”。

针对C#中Substring()方法的使用,需要注意如下几点:

(1) Substring()方法是在字符串对象上使用的。

(2) Substring()方法具有2个重载,一个带有1个参数,用于指定要截取的索引位置,从0开始。另一个带有2个参数,第1个参数指定索引值,第2个参数指定要截取多少个字符。字符是Unicode编码的,一个字符占2个字节。

(3) Substring()方法返回的是截取后的子字符串,这也是我们想要的结果字符串。

(4) Substring()方法不影响原始字符串。