一、静态字符串String操作:
1、CompareTo(string str)
比较两个字符串,从第一位字符开始依次比较。返回值为1、0、-1
2、IndexOf(string substring)
返回子串在父串中第一次出现的起始索引(索引从0开始)
3、Join(string separator,string[] value)
用特定的分隔符连接字符串数组。返回值为拼接后的字符串。
2 Console.WriteLine(String.Join( " , " ,arr);
4、Split(Char[])
返回包含此实例中的子字符串(由指定 Char 数组的元素分隔)的 String 数组。返回值为string[]
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 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类型,也可以是其它类型,已重载。
StringBuilder sb = new StringBuilder(str);
sb.Append( " 7890 " ); // 1234567890
2、其它方法类似于String,如:Insert、Remove、Replace。但没有Substring、Join、Split等方法。
StringBuilder转变为String,可以使用StringBuilder的ToString()方法。
三、字符串编码和解码:
C#中使用的字符串是Unicode编码类型的,如果要对字符串进行编码和解码操作,可以使用System.Text;命名空间中的类。一般用于URL操作。
1、编码:
// 但尤其C#会把空格编码成+号,而不是默认的20%,所以最好进行这样的操作:
string str = Server.UrlEncode(url).Replace( " + " , " 20% " );
2、解码:
四、常用日期操作:
1、系统当前日期:
DateTime.Now.ToLongDateString() // 2011年4月11日
// 注:也可以使用Today属性代替。
DateTime.Now.ToString() // 2011-4-11 15:02:36
2、当前日期是星期几、是一年中第多少天、是否为闰年:
// 返回的是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类型,前N天,参数负,后N天,参数为正。
类似的方法还有:
AddYears、AddMonths、AddHours、AddMinutes、AddSeconds等。
4、获取两个时间的间隔:
DateTime dt2 = DateTime.Now.AddHours( 1 );
TimeSpan ts = dt2 - dt1;
Response.Write(ts.ToString()); // 01:00:00