《数据结构与算法C#语言描述》笔记7_字符串、String类和StringBuilder类

七.字符串、String类和StringBuilder类

String

每次改变string对象的值时,会产生一个新的对象来保存数值。访问时,只是更变了对string对象的引用。String类在System空间下。

常用的String类方法

Split方法

            stringdata = "Mike,McMillans,3000 W.Scenic,NorthLittle Rock,AR,72118";

            string[]sdata;

            char[]delimiter = new char[]{ ',' };

            ///data.LengthSplit返回的数组内的元素数量

            sdata = data.Split(delimiter,data.Length);///[0]Mike[1]McMillans[2]3000W.Scenic[3]North Little Rock[4]AR[5]72118

            sdata = data.Split(delimiter, 2);///[0]Mike[1]McMillans,3000W.Scenic,North Little Rock,AR,72118

Join方法

            stringjoined= String.Join(",",sdata);

Format方法

           string s = String.Format("{0} is value", "a");

比较字符串的方法

Unicode

每个字符都有一个Unicode值。两个字符串的比较实际就是比较它们的数字编码。

            intcharcode = (int)' '; ///32

Equals方法

            boolisEaqual1 = data.Equals(joined);

CompareTo方法

            intEaqualResult1 = data.CompareTo(joined);///Unicode值低于则-1,相等则0,高于则1

Compare(静态)方法

            intEaqualResult2 = String.Compare(data,joined);///Unicode值低于则-1,相等则0,高于则1

StartsWith方法

以字符串参数作为当前字符串的开始

            boolisrighthead = data.StartsWith("Mi");

EndsWith方法

以字符串参数作为当前字符串的结束

            boolisrightend = data.EndsWith("ke");

处理字符串的方法

Insert方法

返回一个指定位置插入字符串后的新字符串

Remove方法

返回一个从指定位置起删除指定长度字符串的新字符串

Replace方法

返回一个新字符替代旧字符后的新字符串

PadLeft方法

返回一个指定长度的字符串,参数字符串进行右对齐排列

            Console.WriteLine(data.PadLeft(60));

            ///    Mike,McMillans,3000 W.Scenic,North Little Rock,AR,72118

            Console.WriteLine(data.PadLeft(10));

            ///Mike,McMillans,3000 W.Scenic,North Little Rock,AR,72118

PadRight方法

返回一个指定长度的字符串,参数字符串进行左对齐排列

            Console.WriteLine(data.PadRight(60));

            ///Mike,McMillans,3000 W.Scenic,North LittleRock,AR,72118    

Concat(静态)方法

返回一个字符串参数组串联后的新字符串

            Console.WriteLine(String.Concat(data,"&",joined));

ToLower方法

返回一个小写形式的新字符串

            Console.WriteLine(data.ToLower());

ToUpper方法

返回一个大写形式的新字符串

            Console.WriteLine(data.ToUpper());

Trim、TrimEnd、TrimStart方法

返回一个去除空格、换行、制表符等其他格式字符后的新字符串

            stringstr = " \t1 2 3 \r";

            Console.WriteLine(";{0};", str.Trim());///;1 2 3;

            Console.WriteLine(";{0};", str.TrimEnd());///;      1 2 3;

            Console.WriteLine(";{0};", str.TrimStart());///;1 2 3

                                                       ///;

StringBuilder

对StringBuilder对象进行改变时,改变的是原始对象,而不是对副本进行操作。StringBuilder类在System.Text空间下。对复杂的长字符串(大约超过1000个字符以上)进行操作时,StringBuilder会产生更好的性能。

构造器

            StringBuilderstbuff1 =new StringBuilder();///默认16个字符的容量

            StringBuilderstbuff2 =new StringBuilder(25);///指定25个字符的容量

            StringBuilderstbuff3 =new StringBuilder("Hello World");///传入字符串。每次超出StringBuilder容量时,容量都会增加16个字符。

获取、设置关于StringBuilder对象的信息

Length、Capacity、MaxCapacity属性

Length获取或者设置实例的字符数。

Capacity获取实例的当前容量

MaxCapacity获取实例中允许的最大字符数(随对象添加字符而自动添加)

            Console.WriteLine("{0}→Length字符数:{1}", stbuff3, stbuff3.Length);///Hello World→Length字符数:11

            Console.WriteLine("{0}→Capacity容量:{1}", stbuff3, stbuff3.Capacity);///Hello World→Capacity容量:16

            Console.WriteLine("{0}→MaxCapacity允许最大字符数:{1}",stbuff3, stbuff3.MaxCapacity);///Hello World→MaxCapacity允许最大字符数:2147483647

            stbuff3.Length = 8;

            Console.WriteLine("{0}→Length字符数:{1}", stbuff3, stbuff3.Length);///Hello Wo→Length字符数:8

            Console.WriteLine("{0}→Capacity容量:{1}", stbuff3, stbuff3.Capacity);///Hello Wo→Capacity容量:16

            //stbuff3.Length= 15;

            //Console.WriteLine("{0}→Length字符数:{1}", stbuff3,stbuff3.Length);///Hello Wo

 

EnsureCapacity方法

设置实例的最小容量

            stbuff3.EnsureCapacity(30);

            Console.WriteLine("{0}→Length字符数:{1}", stbuff3, stbuff3.Length);///Hello Wo→Length字符数:8

            Console.WriteLine("{0}→Capacity容量:{1}", stbuff3, stbuff3.Capacity);///Hello Wo→Capacity容量:30

                                                                             

            Console.WriteLine("{0}→[3]:{1}", stbuff3, stbuff3[3]);///Hello Wo→[3]:l

 

 

Chars属性

返回实例中指定位置上的字符

            Console.WriteLine("{0}→[3]:{1}", stbuff3, stbuff3[3]);///Hello Wo→[3]:l

 

修改StringBuilder对象

Append方法

实例对象的末尾处添加字符(串)

            StringBuilderstbuff5 =new StringBuilder("Hello World");

            stbuff5.Append('.');

            Console.WriteLine(stbuff5);///Hello World.

            stbuff5.Append("Boys");

            Console.WriteLine(stbuff5);///Hello World.Boys

            stbuff5.Append(9);

            Console.WriteLine(stbuff5);///Hello World.Boys9

            stbuff5.Append((char)98);

            Console.WriteLine(stbuff5);///Hello World.Boys9b

 

AppendFormat方法

对实例对象的末尾处添加指定格式的字符串

            stbuff5.AppendFormat("\nAge:{000}.", 23);

            Console.WriteLine(stbuff5);///Hello World.Boys9b

                                       ///Age:23.

Insert方法

对实例对象,进行,指定位置、指定重复插入次数、插入指定字符(串)的操作。完成插入操作后对此实例的引用

            stbuff5 = newStringBuilder("HelloWorld");

            stbuff5.Insert(0, '!');

            Console.WriteLine(stbuff5);///!Hello World

            Console.WriteLine(stbuff5.Insert(0,"here ", 3));///here here here !HelloWorld

Remove方法

对实例对象,指定位置起移出掉指定长度的字符

            stbuff5 = newStringBuilder("HelloWorld");

            stbuff5.Remove(8,2);

            Console.WriteLine(stbuff5);///Hello Wod

Replace方法

对实例对象,替换旧字符串变为新字符串。

            stbuff5 = newStringBuilder("HelloWorld");

            stbuff5.Replace("World","Man");

            Console.WriteLine(stbuff5);///Hello Man

ToString方法

返回当前StringBuilder实例的一个字符串实例。

            stbuff5 = newStringBuilder("HelloWorld");

            Console.WriteLine(stbuff5.ToString());///Hello Man

            Console.WriteLine(stbuff5.ToString(3,7));///lo Worl


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值