ASP.NET-C#中字符串操作
1.复制字符串
Copy方法可以把一个字符串复制到另一个字符串中。
语法:
public static string Copy (string str) |
参数:
str :要复制的字符。
本例通过String类的Copy方法复制字符串“www.soAsp.net”。
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{ string str = Label1.Text.ToString(); //Copy方法的使用 Label2.Text = string.Copy(str); } |
2.移除字符串
若想把一个字符串开始或末尾位置的一组指定字符移除,可以使用Trim方法、TrimStart方法和TrimEnd方法等。
语法:
public string Trim (params char[] trimChars)
public string TrimStart (params char[] trimChars) public string TrimEnd (params char[] trimChars) |
参数:
trimChars:要移除的Unicode字符数组或空引用
本例演示了通过使用String类的TrimStart和TrimEnd方法分别移除字符串“*_*www.soAsp.net*_*”的起始字符和末尾字符。
程序代码如下:
protected void Button1_Click(object sender, EventArgs e)
{ string str = Label1.Text.ToString(); //TrimStart方法和TrimEnd方法的使用 string str2 = str.TrimStart(new char[] { '*', '_' }); string str3 = str.TrimEnd(new char[] { '*', '_' }); Label2.Text = str2; Label3.Text = str3; } |
3.删除字符串
Remove方法用于在一个字符串的指定位置删除指定的字符。
语法:
public string Remove (int startIndex,int count) |
参数:
startIndex:开始删除字符的位置。
count:要删除的字符数。
4.填充字符串
字符串通过使用PadLeft/PadRight方法添加指定数量的空格或自定义字符进行填充实现右对齐或左对齐。
语法:
public string PadLeft (int totalWidth,char paddingChar)
public string PadRight (int totalWidth,char paddingChar) |
参数:
totalWidth:结果字符串中的字符数,等于原始字符数加上填充的字符数。
paddingChar:填充的字符。
本例通过使用String类的PadLeft/PadRight方法在字符串“明日科技”的左侧和右侧分别填充字符。
代码如下:
protected void Page_Load(object sender, EventArgs e)
{ string str = Label3.Text.ToString(); //使用PadLeft/PadRight方法填充字符串 string str1 = str.PadLeft(5, '@'); string str2 = str.PadRight(5, '@'); Label1.Text = str1; Label2.Text = str2; } |
5.插入字符串
Insert方法用于在一个字符串中的指定位置插入另一个字符串,从而构造一个新的串。
语法:
public string Insert (int startIndex,string value) |
参数:
startIndex:插入的索引位置。
value:要插入的字符。
本例通过String类的Insert方法在字符串“soAsp.net”的第0个位置插入字符串“www”,最后得到新的字符串“www.soAsp.net”。
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{ if (Convert.ToInt32(TextBox2.Text.Trim()) < TextBox1.Text.Length || Convert.ToInt32(TextBox2.Text.Trim()) > TextBox1.Text.Length) { Page.RegisterStartupScript("", "<script>alert('位置错误')</script>"); } else { string Bstr = TextBox1.Text.ToString().Trim(); int i = Convert.ToInt32(TextBox2.Text.Trim().ToString()); string InStr = TextBox3.Text.ToString().Trim(); string NewStr = Bstr.Insert(i, InStr); TextBox4.Text = NewStr; } } |
6.截取字符串
使用Substring方法可以从指定字符串中截取子串。
语法:
public string Substring (int startIndex,int length) |
参数:
startIndex :子字符串的起始位置的索引。
length:子字符串中的字符数。
本例通过String类的Substring方法将字符串“搜Aasp.net创造辉煌”中的“创造辉煌”截取掉,得到的结果为“搜Aasp.net”。
程序代码如下:
protected void Button1_Click(object sender, EventArgs e)
{ string BeginStr = TextBox1.Text.Trim().ToString(); int bint = Convert.ToInt32(TextBox2.Text.ToString()); int eint = Convert.ToInt32(TextBox3.Text.ToString()); if (bint < 0 || bint > BeginStr.Length) { Page.RegisterStartupScript("", "<script>alert('起始位置错误')</script>"); } else { if (BeginStr.Length < bint || BeginStr.Length >eint) { string Endstr = BeginStr.Substring(bint, eint); Label1.Text = "您截取后的结果:" + Endstr; } else { Page.RegisterStartupScript("", "<script>alert('截取的位数不要超过字符串个数')</script>"); } } } |
7.字符串定位
使用IndexOf方法可以定位字符串中某个字符或子串第一次出现的位置。
语法:
public int IndexOf (string value) |
其中,参数value为要定位的字符或子串。如果找到该字符,则为参数value的索引位置。如果未找到该字符,则为-1;如果参数为空,则返回值为0。
示例通过String类的IndexOf方法定位“日”在字符串“明日科技”中的位置。
程序代码如下:
protected void Button1_Click(object sender, EventArgs e)
{ string AllStr = TextBox1.Text.Trim().ToString(); string str = TextBox2.Text.Trim().ToString(); //使用IndexOf方法定位字符及子串 int i = AllStr.IndexOf(str); Label1.Text = "该字符是字符串的第:"+i+"位"; } |
说明:字符串的索引值是从0开始的,所以在本示例中“日”的索引位置是1。
8.替换字符串
Replace方法可以替换掉一个字符串中的某些特定字符或者子串。
语法:
public string Replace (string oldValue,string newValue) |
参数:
oldValue:要替换的字符。
newValue:要替换oldValue的所有匹配项的字符。
本例通过String类的Replace方法将字符串“soAsp.net”替换成字符串“www.soAsp.net”。
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{ string str1 = Label1.Text.ToString(); string str2=Label2.Text.ToString(); //使用Replace方法替换字符串 string str = str1.Replace(str1, str2); Page.RegisterStartupScript("","<script>alert('原始字符被替换为:"+str+"')</script>"); } |
9.比较字符串
String类提供了一系列的方法用于字符串的比较,下面对这些方法进行介绍。
(1)CompareTo方法
用于比较两个字符串是否相等。
语法:
public int CompareTo (string strB) |
例如,对字符串stra和字符串strb进行比较。代码如下所示:
stra.CompareTo(strb) |
如果stra的值与strb相等则返回0;如果stra大于strb的值,则返回1;否则返回-1。
示例3_01 使用CompareTo方法比较字符串
本示例使用String类的CompareTo方法比较字符串mr和字符串mrls,由于mr小于mrls,所以返回值为-1。
程序代码如下:
protected void Button1_Click(object sender, EventArgs e)
{ string stra = TextBox1.Text.ToString(); string strb = TextBox2.Text.ToString(); //使用CompareTo方法比较字符串 int i = stra.CompareTo(strb); Label1.Text = "返回值:"+i; } |
(2)Equals方法
用于确定两个String对象是否具有相同的值。
语法:
public bool Equals (string value) |
例如,判断字符串stra和字符串strb是否相等。代码如下所示:
stra.Equals(strb) |
如果stra的值与strb相同,则为True;否则为False。
示例3_02 使用Equals方法比较字符串
本示例通过String类的Equals方法比较字符串mr和mrls是否相等,由于这两个字符串不相等,所以返回值为False。
程序代码如下:
protected void Button1_Click(object sender, EventArgs e)
{ string stra = TextBox1.Text.ToString().Trim(); string strb = TextBox2.Text.ToString().Trim(); //使用Equals方法比较字符串 bool i = stra.Equals(strb); if (i) { Label1.Text = "返回值为True,两个字符相同"; } else { Label1.Text = "返回值为False,两个字符不同"; } } |
说明:Equals方法区分大小写。
10.分隔字符串
Split方法可以把一个字符串通过某个分隔符,分裂成若干小的字符串。
语法:
public string[] Split (params char[] separator) |
参数:
params:为分隔字符串的分隔符数组。
本例通过使用String类的Split方法将字符串“1|2|3|4|5|6|7”的“|”去掉,并将七个数字输出。
程序代码如下:
protected void Button1_Click(object sender, EventArgs e)
{ string str = Label1.Text.ToString(); string[] idnum = str.Split('|'); for (int i = 0; i < idnum.Length; i++) { Response.Write(idnum[i].ToString()+"<br>"); } } |