C#字符串处理

1.删除头尾指定字符串

(1)删除单一字符

eg : string A = "C#abcdefg#C";

①删除A的前后出现的字符'C',

        A = A.Trim('C');

输出结果:#abcdefg#

②删除A前面的字符'C',

       A = A.TrimStart('C');

输出结果:#abcdefg#C

③删除A后面的字符'C'

       A=A.TrimEnd('C');

输出结果:C#abcdefg#

总结:A.Trim('C')  等效于  A.TrimStart('C').TrimEnd('C')

(2)删除多个字符(只以Trim函数为例)

eg:string B = "abbacdefgba"

首先看代码 B =B.Trim("ab".ToCharArray()),与删除单个字符有很大不同

这句代码的意思是删除字符串a首尾出现的字符'a'或者'b',直到出现一个既不是'a'也不是‘b’的字符出现,千万别理解成删除字符串“ab”

输出结果:cdefg

2.以指定的某个字符切断字符串

eg string A = "1111 2222 3333 4444 5555 6666";

现在我们要在A中,每遇到一次空格就切断一次,并保存于数组中:

string[] Arr = Regex.Split(A, " ", RegexOptions.IgnoreCase);

foreach(string item in A)

{

 Console.WriteLine(item + "\r\n");

}

Console.ReadKey();

(需要加载命名空间System.Text.RegularExpressions)

输出结果:1111

     2222

                  3333

                  4444

                  5555

                  6666

3.获取字符串中某个字符出现的次数

eg:string A = "010203040506070809";

int k = Regex.Matches(A, @"0").Count;

输出结果为:9

4.删除字符串的第N个字符

eg:string A = "123456789";

现在我要把A中的5给删除:

 List<char> Arr = A.ToList();

Arr.RemoveAt(4);

A = new string(Arr.ToArray());

输出结果:12346789

5对应的是List中的第四个元素,是从0开始的

5.向字符串中添加指定字符串

string A = "1122334455";

现在我要每隔2个字符添加一个空格:

A = string.Join(" ", Regex.Matches(str, @"..").Cast<Match>().ToList());

输出结果为11 22 33 44 55

Join的第一个参数是string类型的,任何字符串都行,对应你需要添加进去的字符串,即空格

Matches的第一个参数是被添加的字符串,即A;第二个参数@".."表示每隔几个字符串,2个'.'表示每隔2个字符,3个就每隔3个;

另外,如果字符串的长度不能整除隔开的字符长度,即A的长度不是每隔n个字符中n的整数倍,那么最后一段不会显示出来

例如,将上面的A换成"112233445",同样是每隔两个字符添加空格,结果为:11 22 33 44,最后的一个5是不会显示的

6.字符串的截取

取头n个字符 str.Substring(0,n)
删除第n个字符后的所有字符 str.Remove(n)
获取从第n个到最后的字符(不包括第n个)  str.substring(n)
删除从头到第n个字符,其余留下 str.remove(0,n)
取从第n个开始长度为m的子串 str.substring(n,m)
从第n个开始删除m个字符 str.remove(n,m)

猜你喜欢

转载自www.cnblogs.com/zl0316/p/10931009.html
今日推荐