关于字符串截取有多种方法适应不同的需求
1.SubString截取
string str="fakhkajhdkahkdhfakh";
SubString与substr
var str1= str.SubString(0,2);//从索引为0的位置开始,截取长度为2位
alert(str1);//str1="fa"
eg:
str.substr(2,5)="khkaj";//从索引为2的位置开始截取,字符长度为5
str.substr(4)="kajhdkahkdhfakh";//从索引位置为4的位置开始截取,一直到字符串末尾。
str.substr(start,length);//start为要抽取的子串的起始下标,必须为数值;如果是负数,那么该参数声明从字符串的尾部开始算起的位置。
也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length 为 子串中的字符数。必须是数值。如果省略了该参数,那么返回从 str的开始位置到结尾的字串。
var str2=str.SubString(5);//表示去掉字符串前5位,返回一个新的字符串
var str3=str.Remove(0,5);//同上
str2=str3;
alert(str2);//string=“ajhdkahkdhfakh”
str=str.Substring(str.Length-i);//从右边开始取i个字符 等同于
str=str.Remove(0,str.Length-i)
str=str.Substring(0,str.Length-i);//从右边开始去掉I个字符 等同于
str=str.Remove(str.Length-i,i);
//判断字符串中是否有"abc" 有则去掉之
using System.Text.RegularExpressions;
string str = "123abc456";
string a="abc";
Regex r = new Regex(a);
Match m = r.Match(str);
if (m.Success)
{
//1.
str=str.Replace(a,"");
Response.Write(str);
//2.
string str1,str2;
str1=str.Substring(0,m.Index);
str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
Response.Write(str1+str2);
}
2.字符串替换
//字符串替换 str=str.Replace("abc","ABC");
3.字符串分割 Split
1.
var str="How are you doing today?"
document.write(str.split(" ") + "<br />") ;//以空格分割
document.write(str.split("") + "<br />");//每一个分割
document.write(str.split(" ",3));//以空格分割,返回的最大长度为3
Result:
1.How,are ,you,doing,today?
2.H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
3.How,are ,you
2.
var str="2:3:4:5";
var str1="|a|b|c";
str.Split("N");//表示以N作为标识
var a= str.Split(":");//以冒号作为分割标识。
var b= str1.Split("|");//以| 作为分割标识
Result:
a=["2", "3", "4", "5"];
b=["", "a", "b", "c"];