黑马程序员--字符串处理

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

 

 

string可以看做是char的只读数组。char c=s[1];。例子:遍历输出string中的每个元素。

C#中字符串有一个重要的特性:不可变性,字符串一旦声明就不再可以改变。所以只能通过索引来读取指定位置的char,不能对指定位置的char进行修改。

如果要对char进行修改,那么就必须创建一个新的字符串,用s.ToCharArray()方法得到字符串的char数组,

对数组进行修改后,调用new string(char[])这个构造函数(暂时不用细研究)来创建char数组的字符串。

一旦字符串被创建,那么char数组的修改也不会造成字符串的变化。例子:将字符串中的A替换为a。

 

字符串是Unicode字符的有序集合。

String对象是System.Char对象的有序集合,可用索引器来访问字符。

String类定义的变量是一个引用类型,可赋值为null。

 

要区分变量名和变量指向 的值的区别。程序中可以有很多字符串,然后由字符串变量指向他们,

变量可以指向其他的字符串,但是字符串本身没有变化。字符串不可变性指的是内存中的字符串不可变,而不是变量不变。

 

字符串处理方法:

一.  比较字符串

主要方法有:Compare、CompareTo、Equals

1. Compare

如:String.Compare(str1,str2,true);

按两字符串在英文字典中的位置比较大小,返回值为int型:

str1大于str2,返回1;

str1等于str2,返回0;

str1小于str2,返回-1。

第三个参数为bool型,为true表忽略大小写。

2. CompareTo

如:str1.CompareTo(str2);

3. Equals

比较两个字符串是否相同,返回bool型,相同则为true,如:

str1.Equals(str2);    或

String.Equals(str1,str2);

 

三.格式化字符串

如:string str=String.Format(“{0} are {1}!!!”,strA,strB);

第一个参数指字符串要格式化的形式,语法:{索引[,对齐方式][,格式化字符串]}。

 

四.截取字符串

如:str2=str1.SubString(1,4);

指取4个长度的str1从索引1开始的子字符串。

第一个参数指子符串起始位置索引。

第二个参数指子字符串中的字符数长度,省略则取到最后。

IndexOf、LastIndexOf方法可获取与之匹配的第一个或最后一个字符的索引,经常搭配使用,如int index=String.IndexOf(‘\\’);

 

五.分割字符串

如:String[] splitStrings=strA.Split({‘-’,’*’,’#’});

返回值为一string类型数组,参数为一char类型数组,包含分隔符。

string url = "http://asdfsfd asdf asdfsdf";   
string[] sss = GetString(url," ");  
foreach(string str in sss) 
 {  
Response.Write(str.ToString() +" ");  
} 
  
private string[] GetString(string str,string cutStr)  
{  
char[] cutChar = cutStr.ToCharArray();  
string[] sArray = str.Split(cutChar);  
return sArray;  
} 

 

 

六.插入和填充字符串

插入字符串,如:str2=str1.Insert(4,”hello”);

表示在str1的索引为4的位置处插入”hello”。

第一个参数指要插入字符串的位置索引值。

第二个参数指要插入的字符串。

若要在尾部插入字符串,可用Length属性设置要插入的索引位置。

 

填充字符串,如:String strA=strB.PadLeft(7,’*’);

PadLeft表在字符串的左侧进行字符填充,而PadRight表在右侧。

第一个参数表填充后的字符长度。

第二个参数表要填充的字符。

 

七.删除字符串

如:String str1=str2.Remove(3,5);

表删除str2的从索引3开始的5个字符。

第一个参数表起始索引。

第二个参数表要删除的字符长度,若省略则删除到末尾。

 

八.复制字符串

Copy方法,如:String strA=String.Copy(strB);

把strB复制到strA中。

 

CopyTo方法,如:

Char[] cTest=new Char[];

strA.CopyTo(1,cTest,0,4);

表将字符串strA的从索引1开始的字符复制4个,保存到字符数组cTest的从索引0开始的位置中。

第一个参数表需复制字符串在源字符串在的索引。

第二个参数表存放字符串的目标字符数组。

第三个参数表目标字符数组的开始存放位置。

第四个参数表要复制的字符个数。

 

九.替换字符串

如:str2=str1.Replace(‘a’,’b’);    或

str2=str1.Replace(“abc”,”hello”);

第一个参数指待替换的字符或字符串,第二个参数指替换后的新字符或字符串。

 

 

 

转载于:https://www.cnblogs.com/w163126/archive/2013/05/20/3088094.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值