string str ="ABCABCDAAAAAAABB";
1.string.substring(int index[,int length]):从指定的位置截取指定长度的字符串;若省略length参数,则截取从指定位置余下的全部字符串
C#中没有substr()方法:
与JavaScript中的substring()和substr()比较:
js中的substring():方法用于提取字符串中介于两个指定下标之间的字符(包括开始,但不包括结束 处的字符)
语法
stringObject.substring(start,stop)
参数 描述
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
说明
substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0
js中的substr 方法用于返回一个从指定位置开始的指定长度的子字符串。
语法
stringObject.substr(start [, length ])
参数 描述
start 必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length 可选。在返回的子字符串中应包括的字符个数。
说明
如果 length 为 0 或负数,将返回一个空字符串。
如果没有指定该参数,则子字符串将延续到stringObject的最后。
var str="ABCABCDAAAAAAABB"
str.substring(1,3);//返回“BC”
str,substr(1,3);//返回“BCA”
str.substring(1);//返回“CABCDAAAAAAABB”
str.substr(1);//返回“CABCDAAAAAAABB”
【结论:js中的substr方法和c#中的substring用法相同,这三个方法若都省略第二个参数,那么得到的结果是相同的】
2. String.IndexOf (Char, Int32, Int32)
指定字符在此实例中的第一个匹配项的索引。从指定字符地位开端,并搜索指定命量的字符地位。
在当前字符串里找到这个字符,从第一个开始找,找到就返回第一次找到所在的索引,如果找不到返回-1
String.IndexOf(value, startIndex, count)
value:要搜索的字符;
startIndex:开始搜索的位置;
count:开始搜索后搜索的范围
eg:
Console.WriteLine(str.IndexOf("A"));// 从字符串头部开始搜索第一个匹配字符A的位置索引,输出"0"
str.IndexOf("A",6);//输出7,申明:这是从第6个字符开端查起。
str.IndexOf("B",7,8).ToString();//返回 14 , 申明:从第7个字符开端查找,要查找的局限是从第7个字符开端后8个字符,即从第7-15个字符中查找。
3.string. LastIndexOf(string value)
从后往前找,返回第一次所找到的索引(即:从前往后找,最后一个匹配项的位置),如果找不到返回-1
Console.WriteLine(str.LastIndexOf("AB"));// 从字符串尾部开始搜索第一个匹配字符串AB的位置,输出"13"(下表是从正着数的,从0开始)
str.LastIndexOf("AB",6)//在0-6的范围内搜索字符串AB的位置,输出“3”
4.分隔字符串:split()
string str="AAAsaABsaD";
string [] arr=Regex.Split(str,"BC",RegexOptions.IgnoreCase);//用字符串来分隔
foreach(string i in arr)
Response.Write(i.ToString()+"<br>");
输出:AAA
AB
D
string str="AAAsBBBaCCCsDDDaEEE";
string [] arr=str.Split(new char[2]{'s','a'});//多个字符来分隔
输出:AAA
BBB
CCC
DDD
EEE
string str="AAAsBBBsDDD";
string [] arr=str.Split('s');//用单个字符来分隔
输出:AAA
BBB
DDD
5.字符访问:string str="ABCD"
str[1];//返回B
str.length;//返回4
6.转换成字符数组:string str="ABCD";
char [] arr=str.ToCharArray();//转换成了字符数组{'A','B','C','D'}
arr[0];//输入A
7.插入和删除(Insert,Remove)
string str="ABCD";
str.Inset(1,"SS");//在索引为1的地方插入SS,输出:ASSBCD;
str.Remove(1);//删除索引1及以后的字符,输出A
str.Remove(0,2);//删除从下标0开始的两个字符,输出:CD
8.替换:replace
string str="A_B_C_D";
str.Replace('_','@');//把字符串中的‘_’字符,替换成‘@’,输出:A@B@C@D
9.比较:
Compare(String s1,String s2) 静态方法
功能:区分大小写比较。
负整数 | s1小于 s2 |
0 | s1 等于 s2。 |
正整数 - 或 - 1 | 此实例大于 value。 - 或 - value 是一个空引用(在 Visual Basic 中为 Nothing)。 |
Compare(String s1,String s2,Bool ignoreCase) 静态方法
功能:ignoreCase为True,不区分大小写比较。
CompareTo(String s) 实例方法
功能:对给定字符串与实例字符串执行一次区分大小写与文化信息比较。