高效掌握C#第三回---字符串常用操作

  上两回介绍了C#中的最常用的6种基本类型以及它们的集合---数组。本回书讲解字符串常用基本操作。

  字符串是我们编程过程中最常打交道的对象了,所以掌握.net framework给我们提供的常用字符串操作函数是非常必要的。

  1 分割字符串

用单个字符来分隔:

string str="aaajbbbjccc";
string[] sArray=str.Split('j');
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc

用多个字符来分隔:
string str="aaajbbbscccjdddseee"; 
string[] sArray=str.Split(new char[2] {'j','s'}); 
foreach(string i in sArray) Response.Write(i.ToString() + "<br>"); 
输出结果:
aaa
bbb
ccc
ddd
eee

////////////////////////////////////////////////
string[] arr = str.Split("o");

这是一个具有语法错误的语句,Split 的 separator 参数应该是 char[] 或 string[],不应是字符串。正确的示例:

string str = "technology";
char[] separator = { 'o' };
string[] arr = str.Split(separator);
////////////////////////////////////////////////////
2.合并字符串
合并Join方法:在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串。
  方法原型 
   详细介绍:将数组strArr中的内容拼接成一个字符串,并在对应数组的每两项间添加分隔符str
    string Join(string separator, string[] value);
    Console.WriteLine(string.Join("爱", new string[] { "你", "我","他" }));
    //输出结果是:你爱我爱他
 
3.取子串

    格式:Substring(int startindex, int len)

    用于获取源字符串指定起始位置startindex,指定长度len的字符串

    参数Startindex索引从0开始,且最大值必须小于源字符串的长度,否则会编译异常;

  参数len的值必须不大于源字符串索引指定位置开始,之后的字符串字符总长度,否则会出现异常;

示例:

    string s4 = "Visual C# Express";

    System.Console.WriteLine(s4.Substring(7, 2));         // outputs "C#" ,C为第八个字符

4.替换

    格式:Replace(string oldValue, string newValue)

    用于字符串中特定字符串组合的替换,即将源字符串中的所有oldValue 字符串替换为 newValue 字符串

示例:

    string s5 = "Visual C# Express";

    System.Console.WriteLine(s5.Replace("C#","VB"));         // outputs "Visual VB Express"

    System.Console.WriteLine(s4.Replace("C#", "Basic"));  // outputs "Visual Basic Express"

5. 字符串索引 IndexOf()

    若要在一个字符串中搜索另一个字符串,可以使用 IndexOf()。如果未找到搜索字符串,IndexOf() 返回 -1;否则,返回它出现的第一个位置的索引(从零开始)。

示例:

string s13 = "Battle of Hastings, 1066";

System.Console.WriteLine(s13.IndexOf("Hastings"));  // outputs 10 ,注意从0开始数起

System.Console.WriteLine(s13.IndexOf("1967"));      // outputs -1

6.Contains(判断是否存在)

public bool Contains(string text):如果字符串中出现text,则返回true,反之false,如果text为("")也返回true。
如:
string st="语文数学英语";
bool b=st.Contains("语文");
Console.WriteLine(b);//true

7.Trim(清空空格):
public string Trim ():将字符串对象包含的字符串两边的空格去掉后返回。
public string Trim ( params char[] trimChars ):从此实例的开始和末尾移除数组中指定的一组字符的所有匹配项。
如:
string st ="abcadef";
string newstring = st.Trim(new char[] {‘a’});//寻找st字符串中开始与末尾是否有与“a“匹配,如有,将其移除。
Console.WriteLine(newstring); //即:bcadef
注:如果字符串为"aaaabcadef",返回依然为bcadef。当移除第一个a时,开始依然为a,继续移除,直到没有。
public string TrimEnd ( params char[] trimChars ):对此实例末尾与指定字符进行匹配,true则移除
public string TrimStart ( params char[] trimChars ):对此实例开始与指定字符进行匹配,true则移除

8.EndsWith,StartsWith(判断字符串的开始或结束)
public bool EndsWith ( string value ):判断对象包含字符串是否以value指定的字符串结束,是则为 true;否则为 false。 
public bool EndsWith ( string value, StringComparison comparisonType ):第二个参数设置比较时区域、大小写和排序规则。
public bool StartsWith ( string value ):判断对象包含字符串是否以value指定的字符串开始,是则为 true;否则为 false。 
public bool StartsWith ( string value, StringComparison comparisonType ) :第二个参数设置比较时区域、大小写和排序规则。
如:
string st="语文数学英语abc";
bool b=st.EndsWith("英语ABC",StringComparison.CurrentCultureIgnoreCase);//第二个参数忽略大小比较。
Console.WriteLine(b);//true

9.填充字符串 PadLeft

int n = 2;
string strTemp = n.ToString().PadLeft(3, '0');
Console.WriteLine(strTemp); //看字符串长度是否满足3位,不满足则在字符串左边以"0"补足,输出002

10. 判断开始和结束
 StartsWith开始
  方法原型
   bool <strName>.StartsWith(String value) 确定此实例的开头是否与指定的字符串匹配
    string str = "我爱中华";
    bool istrue = str.StartsWith("我哎");
    Console.WriteLine(istrue);
    输出结果是:False
 EndsWidth结束
  方法原型
   bool <strName>.EndsWith(string value) 确定此实例的结尾是否与指定的字符串匹配
    string str = "我爱中华";
    bool istrue = str.EndsWith("中国");
    Console.WriteLine(istrue);
    输出结果:False


 
posted @ 2013-01-30 23:08  际为软件事务所  阅读(828)  评论(0编辑  收藏  举报