首页新闻体育娱乐财经科技博客宽频汽车房产游戏女性天气邮箱导航通行证
爱问新闻搜索
科技时代新浪首页 > 科技时代 > 学园 > 正文

理解VC# 2005中的字符串和正规表达式(2)


http://www.sina.com.cn 2006年09月21日 08:54 天极yesky
  (三) 操作和比较字符串

  除了显示包含各种格式化数据的字符串外,其它普通与字符串有关的任务就是字符串操作和比较。要记住的一个重要的事情是,字符串实际上是.NET框架基类库中的一个类。因为它是一个类,所以实际上,你可以调用一个字符串的方法,就象你可以调用任何其它类上的方法一样。

  你可以在字符串常数或字符串变量调用这些方法,见下列代码:

int x = string.Length();
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 ";
Console.WriteLine(sourceString.ToLower());
Console.WriteLine(string.Format("The string '{0}' is {1} chars long",
sourceString,sourceString.Length));
Console.WriteLine(string.Format("Fourth word in sentence is : {0}",
sourceString.Split(' ')[3]));
Console.WriteLine(sourceString2.Trim());
Console.WriteLine("Two strings equal? " + (sourceString == sourceString2.Trim()));

  前面的代码输出如下所示结果:

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();
sb.Append("Greetings!\n");
formatString = "{0:$#,###0.00;($#,###0.00);Zero}";
dVal = 129.99;
sb.AppendFormat(formatString, dVal);
sb.Append("\nThis is a big concatenated string.");
Console.WriteLine(sb.ToString());

  前面的代码输出如下所示结果:

Greetings!
$129.99
This is a big concatenated string.


  注意,前面代码中的"\n"把一个换行符字符插入到字符串中。

[上一页] [1] [2] [3] [下一页]

本文导航:
·理解VC# 2005中的字符串和正规表达式
·理解VC# 2005中的字符串和正规表达式(2)
·理解VC# 2005中的字符串和正规表达式(3)

发表评论

爱问(iAsk.com) 相关网页共约8,950,000



评论】【论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Inc. All Rights Reserved

新浪公司 版权所有