常用数据结构与算法(字符串)

上传人:宝路 文档编号:47729186 上传时间:2018-07-04 格式:PPT 页数:55 大小:1.99MB
返回 下载 相关 举报
常用数据结构与算法(字符串)_第1页
第1页 / 共55页
常用数据结构与算法(字符串)_第2页
第2页 / 共55页
常用数据结构与算法(字符串)_第3页
第3页 / 共55页
常用数据结构与算法(字符串)_第4页
第4页 / 共55页
常用数据结构与算法(字符串)_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《常用数据结构与算法(字符串)》由会员分享,可在线阅读,更多相关《常用数据结构与算法(字符串)(55页珍藏版)》请在金锄头文库上搜索。

1、第7章 常用数据结构与算法7.1 字符串字符串是应用程序和用户交互的主要方式之一。.NET提供了几个类来快速实现字符串操作,包括 String、StringBuilder等。27.1.1 静态字符串StringSystem.String是最常用的字符串操作类。下面从各 个应用的角度对String类进行详细的介绍。 1. 比较字符串比较字符串是指按照字典排序规则,判定两个字符 的相对大小。在String类中,常用的比较字符串的方法包括 Compare、CompareTo、CompareOrdinal以及 Equals。37.1.1 静态字符串String(1)Compare方法 Compare方

2、法是String类的静态方法,用于全面比较两 个字符串对象。 下面使用Compare方法来比较两个字符串,输出结果如 注释语句所示。 /定义两个String对象,并对其赋值 System.String strA=“Hello“; System.String strB=“World“; 47.1.1 静态字符串String/Compare Console.WriteLine(String.Compare(strA,strB);/-1 Console.WriteLine(String.Compare(strA,strA);/0 Console.WriteLine(String.Compare(st

3、rB,strA);/1 57.1.1 静态字符串String(2)CompareTo方法 作用与Compare类似,返回值也相同。 CompareTo与Compare相比,区别在于: CompareTo不是静态方法,可以通过一个String对象调 用; CompareTo没有重载形式,只能按照大小写敏感方式 比较两个整串。 67.1.1 静态字符串StringCompareTo方法的使用如下代码所示: /定义两个String对象,并对其赋值 System.String strA=“Hello“; System.String strB=“World“; /CompareTo Console.Wr

4、iteLine(strA.CompareTo(strB); /-1 Console.WriteLine(strB.CompareTo(strA); /1 Console.WriteLine(strA.CompareTo(strA); /077.1.1 静态字符串String(3)Equals方法 Equals方法用于方便地判定两个字符串是否相同, 有两种重载形式: public bool Equals(string) public static bool Equals(string,string) 如果两个字符串相等,Equals()返回值为True;否则 ,返回False。Equals方法的

5、使用如下代码所示: Console.WriteLine(String.Equals(strA,strB); /false Console.WriteLine(strA.Equals(strB); /false 87.1.1 静态字符串String(4)比较运算符 String支持两个比较运算符“=”、“!=”,分别用于判定两个字符是否相等和不等,并区分大小写。下例中,使用“=”、“!=”对“Hello”和“World”进行比较 。 /=和!= Console.WriteLine(strA=strB);/false Console.WriteLine(strA!=strB);/true97.1.

6、1 静态字符串String2. 定位字符和子串定位子串是指在一个字符串寻找其中包含的子串或者 某个字符,在String类中,常用的定位子串和字符的方 法包括StartWith/EndsWith、IndexOf/LastIndexOf以 及IndexOfAny/LastIndexOf。 107.1.1 静态字符串String(1)StartWith/EndsWith方法 StartWith方法可以判定一个字符串对象是否以另一个 子字符串开头,如果是返回True;否则返回False。其定义为: public bool StartsWith(string value) 其中,参数value即待判定的

7、子字符串。 Console.WriteLine(strA.StartsWith(“He“);/true Console.WriteLine(strA.StartsWith(“She“);/falseEndsWith方法判定一个字符串是否以另一个子字符串 结尾。 117.1.1 静态字符串String (2)IndexOf/LastIndexOf方法 IndexOf方法用于搜索一个字符串,某个特定的字符 或子串第一次出现的位置,该方法区分大小写,并 从字符串的首字符开始以计数。如果字符串中不 包含这个字符或子串,则返回-1。定位字符: int IndexOf(char value) int In

8、dexOf(char value,int startIndex) int IndexOf(char value,int startIndex,int count)下例在“Hello”中寻找字符“l”第一次出现的位置。 Console.WriteLine(strA.IndexOf(l);/2 127.1.1 静态字符串String定位子串: int IndexOf(string value) int IndexOf(string value,int startIndex) int IndexOf(string value,int startIndex,int count) 在上述重载形式中,其参

9、数含义如下: Value:待定位的字符或者子串。 startIndex:在总串中开始搜索的起始位置。 Count:在总串中从起始位置开始搜索的字符数。 137.1.1 静态字符串String同IndexOf类似,LastIndexOf用于从某个位置倒序搜索在一个字符串中,某个特定的字符或子串最后 一次出现的位置,其方法定义和返回值都与IndexOf相同。例如,strA(“hello”)中最后一个l字符出现的位置:Console.Write(strA.LastIndexOf(l,4,5); /3Console.Write(strA.LastIndexOf(l,2,3); /2147.1.1 静态

10、字符串String(3)IndexOfAny/LastIndexOfAny IndexOfAny方法功能同IndexOf类似,区别在于,可以搜索在 一个字符串中,出现在一个字符数组中的任意字符第一次出 现的位置。157.1.1 静态字符串String下例分别在“Hello”中寻找字符数组anyof中任意一个 字符第一次和最后一次出现的位置。 /IndexofAny|LastIndexOfAny char anyOf=H,e,l; Console.WriteLine(strA.IndexOfAny(anyOf); /0 Console.WriteLine(strA.LastIndexOfAny(

11、anyOf); /3 同IndexOfAny类似,LastIndexOfAny用于倒序搜索 最后一次出现的位置。 167.1.1 静态字符串String3. 格式化字符串Format方法用于创建格式化的字符串以及连接多个字符串对象。Foramt方法也有多个重载形式,最常用的为: public static string Format(string format,params object args); 其中,参数format用于指定返回字符串的格式,而args为一系列变量参数。与Console.WriteLine()方法的参数设置方法类似,可以类比记忆。 177.1.1 静态字符串String

12、例如:已有定义如下:int x=12,y=34;String s=“点坐标”;/若以此字符串格式”点坐标:(12,34)”输出结果。Console.WriteLine(“0:(1,2)” , s , x , y );/若只是想以此格式连接得到一个新的字符串,则可用/Format String newStr;newStr=String.Format(“0:(1,2)” , s , x , y);Console.WriteLine(newStr); /点坐标:(12,34)187.1.1 静态字符串String4. 连接字符串(1) Concat方法 Concat方法用于连接两个或多个字符串/Co

13、ncat String newStr; newStr=String.Concat(strA,“ “,strB); Console.WriteLine(newStr);/“Hello World“ 197.1.1 静态字符串String(2)Join方法 Join方法利用一个字符串数组和一个分隔符串构造新的 字符串。常用于把多个字符串连接在一起,并用一个特 殊的符号来分隔开。Join方法的常用形式为: public static string Join(string separator,string values); 其中,参数separator为指定的分隔符,而values用于指定所要连接的多

14、个字符串数组。207.1.1 静态字符串String下例用“”分隔符把“Hello”和“World”连起来。 /Join String newStr; String strArr=strA,strB; newStr=String.Join(“,strArr); Console.WriteLine(newStr); /“HelloWorld“ 217.1.1 静态字符串String(3)连接运算符“+”String支持连接运算符“+”,可以方便地连接多个字符串。例如,下例把“Hello”和“World”连接起来。 /+ newStr=“; newStr=strA+strB; Console.Wr

15、iteLine(newStr);/“HelloWorld“ 227.1.1 静态字符串String 5. 分隔字符串使用Split方法可以把一个整串,按照某个分隔符,分裂成一系列小的字符串。例如,把整串,按照某个分隔符,分裂成一系列小的 字符串。例如,把整串“HelloWorld”按照字符“”进行分裂,可以得到3个小的字符串,即“Hello”、“”(空串)和“World”。Split方法最常用的形式为: public string Split(params char separator); 其中,参数separator数组包含分隔符。237.1.1 静态字符串String/Split newStr=“HelloWorld“; char separator=; String splitStrings=new String100; splitStrings = newStr.Split ( separator ) ; int i=0; while(isplitStrings.Length) Console.WriteLine(“item0:1“,i,splitStringsi); i+; 输出结果如下: Item0:Hello Item1: Item2:World 247.1.1 静态字符串String/若要以如下形式输入一维数组的5个元素值,如何接收数

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

最新文档


当前位置:首页 > 中学教育 > 教学课件

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