C#中对字符串的操作

一、静态字符串String操作:

1、CompareTo(string str)

比较两个字符串,从第一位字符开始依次比较。返回值为1、0、-1

2、IndexOf(string substring)

返回子串在父串中第一次出现的起始索引(索引从0开始)

3、Join(string separator,string[] value)

用特定的分隔符连接字符串数组。返回值为拼接后的字符串。

1  string [] arr  =  { " Hello " , " world! " };
2  Console.WriteLine(String.Join( " , " ,arr);

4、Split(Char[])

返回包含此实例中的子字符串(由指定 Char 数组的元素分隔)的 String 数组。返回值为string[]

string  str1  = " 天@天*开@心 " ;
string [] str  =  str1.Split( new char [] {  ' @ ' ' * '  } );
for  ( int  i  = 0 ; i  <  str.Length; i ++ )
{
Response.Write(str[i]
+ " <br /> " ); 
}

5、Substring(Int32)

检索子字符串。子字符串从指定的字符索引(从0计)开始,一直到最后。

Substring(Int32, Int32)

子字符串从指定的字符位置开始且具有指定的长度。

string  s  = " abcdefg " ;
string  s1  =  s.Substring( 0 , 3 );  // abc
string  s2  =  s.Substring( 3 );  // defg

6、Remove(Int32):该方法使用类似于Substring(Int32)

删除此字符串中从指定位置到最后位置的所有字符。

Remove(Int32, Int32):该方法使用类似于Substring(Int32)

从指定位置开始删除指定数目的字符。

7、Replace(string str1,string str2)

将字符串中的str1全部替换为str2

8、字符串转化成字符数组:

string str = "Hello,world!";

char[] arr = str.ToCharArray(0,str.Length);

foreach(char c in arr) {

  System.Console.Write(c);

}

二、动态字符串StringBuilder操作:与String相比,动态字符串可以避免产生太多的临时字符串对象。// using System.Text;

1、Append(string str)

在字符串后追加内容,可以是string类型,也可以是其它类型,已重载。

string  str  = " 123456 " ;
StringBuilder sb 
= new  StringBuilder(str);
sb.Append(
" 7890 " );  // 1234567890

2、其它方法类似于String,如:InsertRemoveReplace。但没有Substring、Join、Split等方法。

StringBuilder转变为String,可以使用StringBuilder的ToString()方法。

三、字符串编码和解码:

C#中使用的字符串是Unicode编码类型的,如果要对字符串进行编码和解码操作,可以使用System.Text;命名空间中的类。一般用于URL操作。

1、编码:

string  str  =  Server.UrlEncode(url);
// 但尤其C#会把空格编码成+号,而不是默认的20%,所以最好进行这样的操作:
string  str  =  Server.UrlEncode(url).Replace( " + " , " 20% " );

2、解码:

string  url  =  Server.UrlDecode(str.Replace( " 20% " , " + " ));

四、常用日期操作:

1、系统当前日期:

DateTime.Now.ToShortDateString()  // 2011-4-11
DateTime.Now.ToLongDateString()  // 2011年4月11日
// 注:也可以使用Today属性代替。
DateTime.Now.ToString()  // 2011-4-11 15:02:36

2、当前日期是星期几、是一年中第多少天、是否为闰年:

DateTime.Now.DayOfYear.ToString() 
// 返回的是Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday
DateTime.Now.DayOfYear.ToString() 
// 返回的是当前日期是一年中的第多少天
DateTime.IsLeapYear(Int32.Parse(DateTime.Now.Year.ToString())) 
// 返回true表示闰年,false表示非闰年

3、获取当前日期的前N天或后N天:

DateTime AddDays( double  value) 
// 返回值DateTime类型,前N天,参数负,后N天,参数为正。

类似的方法还有:

AddYearsAddMonthsAddHoursAddMinutesAddSeconds等。

4、获取两个时间的间隔:

DateTime dt1  =  DateTime.Now;
DateTime dt2 
=  DateTime.Now.AddHours( 1 );
TimeSpan ts 
=  dt2  -  dt1;
Response.Write(ts.ToString()); 
// 01:00:00
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值