C#中对字符串的处理

来源:互联网 发布:数据采集卡原理 编辑:程序博客网 时间:2024/05/17 02:06

转载地址:http://hi.baidu.com/zhong635976601/item/bb70e6ebd2b9d7f2e1a5d44d

 

首先:1》 SubString  截取字符串

                         有两个用法:SubString(开始位置下标)

                                       例如:"unhappy".substring(2)

                                               结果: "happy"从字符串的下标为2的位置开始截取一直到最后;

                                                  注:下标是从0开始的

                                             SubString(开始位置的下标,要截取的长度)

                                           例如:"  Harbison".substring(2,3)  

                                                        结果: "rbi"  从下标为2的位置开始,截取3位长度

接下来讲2》length 字符串的长度

                                         定义一个字符串string str="abcdeabc";  

                                    int num=str.length; console.writeline(num);结果是8,表示长度为8

再讲 3》  remove   移除

                           有两种用法:remove(startIndex) 从下标的位置开始往后的字符全部移除

                                                   例如:str.remove(2) 结果是:ab

                                                   remove(startIndex,length)开始的下标,要移除的位数

                                                  例如str.remove(2,3)结果是:ababc

再讲4》replace 替换

                         有两种实现方法: replace('oldchar','newchar')旧字符,新字符

                                         例如:str.replace('a','f') 结果是:fbcdefbc

                                            replace("oldString","newString")旧字符串,新字符串

                                              例如:str.replace("abc","fgh") 结果是:fghdefgh

再讲 5》contains 包含

                       有两种实现方法:contains(char value)包含有某个字符

                                       例如:if(str.contains('c')){  console.write("包含")}

                                                  如果包含则打印包含

                                         contains(string value)包含某个字符串

                                        例如:str.contains("abc")是否包含字符串"abc"

                                                   返回类型是bool型,true,false

其他的我接下来的时间会再添加上如indexof                                          (钟树振)

再讲 6》indexof 搜寻某个字符的下标

                        有九种实现方法:string str="abcdeabc";

                          indexof('b');//获取到第一个b字符的下标结果为1

                           indexof("b");//获取到第一个b字符串的下标,结果为1

                  其实以上两者只说明了一个问题,就是indexof(),可以查单个字符也可以查字符串

                         indexof(char value,startIndex)//查询某个字符从下标为几的位置开始

                                例如: indexof('b',2);结果为6

                         indexof(string value,startIndex)//查询某字符串从下标为几的位置开始

                         indexof(string value,startIndex,int count)

                          //要查询的字符串,从下标为几的位置开始查询,一共查询几位(包含开始位)

                                  例如: indexof("b",2,3);结果为-1,没有找到

再讲7》PadLeft  在其左边补足多少位         string str="abc";

                               有两种方法:str.padLeft(5);//在其左边补空格,使其总长度为5,效果"  abc"

                                                      str.padLeft(int count,char);//达到的位数,不足补的字符

                                    例如:     str.padLeft(5,'0');//在其左边补0,使其总长度为5,效果"00abc"

再讲7》PadRight  在其右边补足多少位  用法和上面padleft一样

在这里讲一下。流水号一般就是用PadLeft 和PadRight实现的。。。。

最后讲一下流水号》吧:有人问起,我就说一下。

举个例子:比方说公司的编号由HR加4位流水号组成,意思就是如果数据库中有信息了,则取出最大的编号(比方HR1002)来,自此基础上加1则为(HR1003),如果没有就为HR0001

实现思路:首先获取到数据库中最大的公司编号(比如为str="HR1002";),

然后截取字符串截取后4位string str1=str.subString(2);string str2= string.parse(convert,toInt32(str1)+1).padleft(4,'0');

则流水号为HR+str2;

可以简单的写:流水号=string.parse(convert,toInt32(str.subString(2))+1).padleft(4,'0');

    再添加一个            split  //截取的字符串是一个数组这个方法返回的就是数组

str="abc def ghi";

string[]  stringList=str.split(' ');//根据空格截取字符串,截取出来是一个数组

这个方法一般用于搜索引擎的多个关键字查询,用来截取关键字的

其他的不太常用,如有需要的,可以留言,我再添加。。。

如果有什么疑问或争论的可以评论,共同探讨,共同进步。。。(钟树振)