理解中的字符串和正则表达式覆盖
(三) 操作和比较字符串
除了显示包含各种格式化数据的字符串外,其它普通与字符串有关的任务就是字符串操作和比较。要记住的一个重要的事情是,字符串实际上是.NET框架基类库中的一个类。因为它是一个类,所以实际上,你可以调用一个字符串的方法,就象你可以调用任何其它类上的方法一样。
你可以在字符串常数或字符串变量调用这些方法,见下列代码:
int x = ngth();
int y = \"Hello World\".Length();
表格3简短列举了一些你可以使用于字符串的最常用的方法以便获得该字符串的信息或操作它。
表格3.常用的字符串实例方法
方法描述CompareTo 把这个字符串实例与其它字符串实例比较。Contains 返回一布尔值,指示是否当前字符串实例包含给定的子串。CopyTo 从字符串实例中把一个子串复制到一个字符数组的特定位置。EndsWith 返回一布尔值,指示是否字符串以一个给定的子串结束。Equals 指示是否该字符串等于另一个字符串。你还可以使用\'==\'操作符来代替。IndexOf 返回一个子串在字符串实例中的索引。IndexOfAny 返回一个字符串实例中在子串内的任何字符的第一次索引的出现。PadLeft使用特定数目的空格或其它Unicode字符来填充字符串,特别适用于字符串右对齐。PadRight 把一组特定的空格字符或其它Unicode字符添加到字符串的最后,创建一个字符串右对齐效果。Remove从字符串中删除给定数目的字符。Replace使用特定的代替内容来代替一个给定的字符或字符串在字符串实例中的所有出现。Split使用特定的字符作为分割点,把当前字符串分解成一个字符串数组。StartsWith返回一个布尔值,指示是否该字符串实例以一个特定的字符串开始。SubString给定起始点和长度的情况下,返回字符串的特定部分。ToCharArray把字符串转换成一个字符数组。ToLower 把字符串全部转换成小写字符。ToUpper把字符串全部转换成大写字符。Trim从一个字符串的开始和结束位置,删除一组给定字符的所有出现。TrimStart 实现Trim功能,但仅从字符串的开始位置。TrimEnd 实现Trim功能,但仅从字符串的结束位置。
下列代码展示了你可以使用上面的相应函数来实现字符串查询和操作等:
string sourceString = \"Mary Had a Little Lamb\";
string sourceString2 = \" Mary Had a Little Lamb \";
iteLine(Lower());
iteLine(rmat(\"The string \'{0}\' is {1} chars long\",
sourceString,ngth));
iteLine(rmat(\"Fourth word in sentence is : {0}\",
lit(\' \')[3]));
iteLine(im());
iteLine(\"Two strings equal? \" + (sourceString == im()));
前面的代码输出如下所示结果:
mary had a little lamb
The string \'Mary Had 一个 Little Lamb\' is 22 chars long.
Fourth word in sentence is : Little
Mary Had a Little Lamb
Two strings equal? True
(四) StringBuilder入门
锤子紧急更换代工厂原因何在?锤子科技公关部负责人也无法说明原因。 如前面所提及,字符串是常量。这意味着,当你把两个字符串连接成一个新的字符串时,有一段时间CLR在内存中有三个字符串。因此,例如,当你连接实现如下代码所示连接时:
string a = \"Hello\";
string b = \"World\";
string c = 一个 + \" \" + c;
实际上,在内存共有四个字符串,包括空格。为了缓和这个字符串连接性能问题并且提供给你一个工具使连接更容易些,.NET框架中提供了一个类StringBuilder。
通过使用StringBuilder动态地创建可变长度的字符串,你克服了CLR字符串中常量字符串这一事实;而且,这样以来,该代码变得更具可读性。下列代码展示了StringBuilder的使用:
StringBuilder sb = new StringBuilder();
pend(\"Greetings!\\n\");
formatString = \"{0:$#,###0.00;($#,###0.00);Zero}\";
dVal = 129.99;
pendFormat(formatString, dVal);
pend(\"\\nThis is a big concatenated string.\");
iteLine(String());
前面的代码输出如下所示结果:
Greetings!
$129.99
This is a big concatenated string.
注意,前面代码中的\"\\n\"把一个换行符字符插入到字符串中。
南昌男科哪好心肌梗死高血压治疗方法
忻州哪家医院看白癜风
-
求学季,杭州家长都在咨询的热门国际化该学校来了!
2022年秋招季,很多对学生都希望并能把握住机会,找来助父母选择到暗恋的...
2023-11-08
-
以色列截击火箭弹 空袭加沙地带
叙利亚拦阻燃烧弹 地面部队西奈半岛中心地带 杨舒怡 叙利亚18日拦阻一枚从...
2023-10-10
-
鹿晗家门口严肃乘凉,腰上系着一根“面条”,看清后网友沸腾!
鹿晗最近样子是特别的平淡,吴亦凡李宇春都发新歌了,只有鹿晗一直迟迟不...
2023-09-28
-
上海统筹设置常态化采样点:固定 +便民+流出
北京将依托市大数据中心提供者的新科技游戏平台,根据“跨国公司白名单”...
2023-09-27
-
投资者提问:良公司高管好,长虹网络科技参与建设了深圳数字人民币硬钱包产品。...
投资者提问:贵Corporation更高管好,长虹网络科技参与建设了深圳十进制人民...
2023-09-24
-
求人补缺最忌讳这4件事,别人不仅不帮,还伤感情!
人的潜能都是依赖于的,有的坏有事 我们可以自己解决问题大部分的人 都不...
2023-09-23