任务五_字符串操作.

上传人:我** 文档编号:116555255 上传时间:2019-11-16 格式:PPT 页数:42 大小:249.50KB
返回 下载 相关 举报
任务五_字符串操作._第1页
第1页 / 共42页
任务五_字符串操作._第2页
第2页 / 共42页
任务五_字符串操作._第3页
第3页 / 共42页
任务五_字符串操作._第4页
第4页 / 共42页
任务五_字符串操作._第5页
第5页 / 共42页
点击查看更多>>
资源描述

《任务五_字符串操作.》由会员分享,可在线阅读,更多相关《任务五_字符串操作.(42页珍藏版)》请在金锄头文库上搜索。

1、字符串操作 字符串是应用程序和用户交互的主要方式 ,是评价一个编程语言非常重要的内容。 .NET提供了几个类来快速实现字符串操作, 包括String、System.Text命名空间等。本章 将对这一部分内容进行介绍。 5.1 静态串String System.String是最常用的字符串操作类,可 以帮助开发者完成绝大部分的字符串操作功 能,使用方便。 下面从各个应用的角度对String类进行详细的 介绍。 5.1.1 比较字符串 比较字符串是指按照字典排序规则,判定 两个字符的相对大小。按照字典规则,在 一本英文字典中,出现在前面的单词小于 出现在后面的单词。在String类中,常用的 比较

2、字符串的方法包括Compare、 CompareTo、CompareOrdinal以及Equals, 下面进行详细介绍。 1.Compare方法 Compare方法是String类的静态方法,用于全面比较两 个字符串对象,包括6种重载方式。 下面使用Compare方法来比较两个字符串,输出结果如 注释语句所示。 /定义两个String对象,并对其赋值 System.String strA=“Hello“; System.String strB=“World“; /Compare Console.WriteLine(String.Compare(strA,strB);/-1 Console.Wr

3、iteLine(String.Compare(strA,strA);/0 Console.WriteLine(String.Compare(strB,strA);/1 另外,CompareOrdinal方法同Compare方法非常类似, 判定两个字符串,但不考虑区域性问题,在此不再赘 述。 2.CompareTo方法 CompareTo方法将当前字符串对象与另一个对象做比 较,其作用与Compare类似,返回值也相同。 CompareTo与Compare相比,区别在于: CompareTo不是静态方法,可以通过一个String对象调 用; CompareTo没有重载形式,只能按照大小写敏感方式

4、 比较两个整串。 CompareTo方法的使用如下例所示。 /定义两个String对象,并对其赋值 System.String strA=“Hello“; System.String strB=“World“; /CompareTo Console.WriteLine(strA.CompareTo(strB);/-1 3. Equals方法 Equals方法用于方便地判定两个字符串是否相同 ,有两种重载形式: public bool Equals(string) public static bool Equals(string,string) 如果两个字符串相等,Equals()返回值为Tru

5、e; 否则,返回False。Equals方法的使用如下例所示 。 /Equals Console.WriteLine(String.Equals(strA,strB);/false Console.WriteLine(strA.Equals(strB); /false 4. 比较运算符 String支持两个比较运算符“=”、“!=”,分 别用于判定两个字符是否相等和不等,并 区分大小写。相对于上面介绍的方法,这 两个运算符使用起来更加直观和方便。 下例中,使用“=”、“!=”对“Hello”和 “World”进行比较。 /=和!= Console.WriteLine(strA=strB);/f

6、alse Console.WriteLine(strA!=strB);/false 5.1.2 定位字符和子串 定位子串是指在一个字符串寻找其中包含的 子串或者某个字符,在String类中,常用的定 位子串和字符的方法包括StartWith/EndsWith 、IndexOf/LastIndexOf以及 IndexOfAny/LastIndexOf下面进行详细介绍。 1. StartWith/EndsWith方法 StartWith方法可以判定一个字符串对象是否 以另一个子字符串开头,如果是返回True;否 则返回False。其定义为: Public bool StartsWith(strin

7、g value) 其中,参数value即待判定的子字符串。 /StartWith Console.WriteLine(strA.StartsWith(“He“); /true Console.WriteLine(strA.StartsWith(“MM“);/fals e 另外,EndsWith方法可以判定一个字符是否 以另一个子字符串结尾。 2.IndexOf/LastIndexOf方法 IndexOf方法用于搜索一个字符串,某个特定的字符或子串第一次出现的位置 ,该方法区分大小写,并从字符串的首字符开始以计数。如果字符串中不 包含这个字符或子串,则返回-1。共有如下6种重载形式。 定位字符:

8、 int IndexOf(char value) int IndexOf(char value,int startIndex) int IndexOf(char value,int startIndex,int count) 定位子串: int IndexOf(string value) int IndexOf(string value,int startIndex) int IndexOf(string value,int startIndex,int count) 在上述重载形式中,其参数含义如下: Value:待定位的字符或者子串。 startIndex:在总串中开始搜索的起始位置。 C

9、ount:在总串中从起始位置开始搜索的字符数。 下例在“Hello”中寻找字符“l”第一次出现的位置。 /Indexof Console.WriteLine(strA.IndexOf(l);/2 同IndexOf类似,LastIndexOf用于搜索在一个字符串中,某个特定的字符或子 串最后一次出现的位置,其方法定义和返回值都与IndexOf相同,不再赘述。 3.IndexOfAny/LastIndexOfAny IndexOfAny方法功能同IndexOf类似,区别在于,可以搜索在一个字符 串中,出现在一个字符数组中的任意字符第一次出现的位置。同样, 该方法区分大小写,并从字符串的首字符开始以

10、计数。如果字符串 中不包括这个字符或子串,则返回-1。IndexOfAny有3种重载形式: int IndexOfAny(char anyOf) int IndexOf(char anyOf,int startIndex) int IndexOf(char anyOf,int startIndex,int count) 在上述重载形式中,参数含义如下: anyOf:待定位的字符数组,方法将返回这个数组中任意一个字符第一 次出现的位置。 startIndex:在总串中开始搜索的起始位置。 Count:在总串中从起始位置开始搜索的字符数。 下例在“Hello”中寻找字符“l”第一次和最后一次出现的

11、位置。 /IndexofAny|LastIndexOfAny char anyOf=H,e,l; Console.WriteLine(strA.IndexOfAny(anyOf);/0 Console.WriteLine(strA.LastIndexOfAny(anyOf);/3 同IndexOfAny类似,LastIndexOfAny用于搜索在一个字符串中,出现在 一个字符数组中任意字符最后一次出现的位置。 5.1.3 格式化字符串 Format方法用于创建格式化的字符串以及连接多个字符串对象。Foramt方 法也有多个重载形式,最常用的为: public static string For

12、mat(string format,params object args); 其中,参数format用于指定返回字符串的格式,而args为一系列变量参数。 可以通过下面的实例来掌握其使用方法。 /Format newStr=“; newStr=String.Format(“0,1!“,strA,strB); Console.WriteLine(newStr);/Hello,World! 在format参数中包含一些用大括号括起来的数字,如0、1,这些数字分 别一一对应于args参数数组中的变量。在生成结果字符串时,将使用这些 变量代替i。需要说明的是,这些变量并不要求必须为String类型。

13、在特定的应用中,Format方法非常方便。例如,想要输出一定格式的时间 字符串,便可以使用Format方法,如下面代码所示。 newStr=String.Format(“CurrentTime=0:yyyy-MM-dd“,System.DateTime.Now); Console.WriteLine(newStr);/形如:2006-05-19 其中,格式字符串“yyyy-MM-dd”指定返回时间的格式形如“2006-05-19”,其 定义参考System.Globalization.DateTimeFormatInfo类。 5.1.4 连接字符串 1. Concat方法 Concat方法用于

14、连接两个或多个字符串。Concat 方法也有多个重载形式,最常用的为: public static string Concat(params string values); 其中,参数values用于指定所要连接的多个字符 串,可以通过下面的实例来掌握其使用方法。 /Concat newStr=“; newStr=String.Concat(strA,“ “,strB); Console.WriteLine(newStr);/“Hello World“ 2. Join方法 Join方法利用一个字符数组和一个分隔符串构造新的 字符串。常用于把多个字符串连接在一起,并用一 个特殊的符号来分隔开。J

15、oin方法的常用形式为: public static string Join(string separator,string values); 其中,参数value为指定的分隔符,而values用于指定 所要连接的多个字符串数组,下例用“”分隔符把 “Hello”和“World”连起来。 /Join newStr=“; String strArr=strA,strB; newStr=String.Join(“,strArr); Console.WriteLine(newStr);/“HelloWorld“ 3. 连接运算符“+” String支持连接运算符“+”,可以方便地连接多 个字符串,例如,下例把“Hello”和“World”连 接起来。 /+ newStr=“; newStr=strA+strB; Console.WriteLine(newStr);/“HelloWorld“ 5.1.5 分隔字符串 使用前面介绍的Join方法,可以利用一个分隔符把 多个字符串连接起来。反过来,使用Split方法可以 把一个整串,执照某个分隔符,分裂成一系列小的 字符串。例如,把整串,按照某个分隔符,分裂成 一系列小的字符串。例如,把整串“HelloWorld”按 照字符“”进行分裂,可以得到3个小的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号