C# 常用的字符串操作

 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)      实例方法
功能:对给定字符串与实例字符串执行一次区分大小写与文化信息比较。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值