标签:
杂谈 |
分类: c#学习 |
看到这个题目可能有点晕,一般我们截取字符串是用split以字符进行分割的(当然也用字符数组)。
比如:
1: using System;
2:
3: namespace 字符串截取Demo
4: {
5: class MainClass
6: {
7: public static void Main (string[] args)
8: {
9: string s="1$cjlovefl$abcdefghicjloveuu$sdfcserrr";
10: string[] bit=s.Split('c');//用c进行分割
11: foreach(string i in bit)
12: {
13: Console.WriteLine(i.ToString());
14: }
15:
16: }
17: }
18: }
截图:
http://s2/middle/673ccb5b4b2a2eecd3551&690
但是我要以字符串进行分割呢,比如我要以“cjlovefl”进行分割怎么办,可惜split的方法重载中没有已字符串做参数的方法。没办法,只能用其他办法了。
我们用正则表达式来截取好了。
例如:
1: using System;
2: using System.Text.RegularExpressions;
3:
4: namespace 字符串截取Demo
5: {
6: class MainClass
7: {
8: public static void Main (string[] args)
9: {
10: string s="1$cjlovefl$abcdefghicjloveuu$sdfcserrr";
11: Regex regex=new Regex("cjlovefl");//以cjlovefl分割
12: string[] bit=regex.Split(s);
13: foreach(string i in bit)
14: {
15: Console.WriteLine(i.ToString());
16: }
17:
18: }
19: }
20: }
截图:
好了,假如我们要以“$cjlovefl$”分割怎么办啊。很多人想当然的说直接用这个字符串放进去就行了啊。你可以去试试,没用的,在正则表达式中$有特殊的意义,必须转义掉,所以必须用“\\$cjlovefl\\$”进行匹配。
例如:
1: using System;
2: using System.Text.RegularExpressions;
3:
4: namespace 字符串截取Demo
5: {
6: class MainClass
7: {
8: public static void Main (string[] args)
9: {
10: string s="1$cjlovefl$abcdefghicjloveuu$sdfcserrr";
11: Regex regex=new Regex("\\$cjlovefl\\$");//以$cjlovefl$分割
12: string[] bit=regex.Split(s);
13: foreach(string i in bit)
14: {
15: Console.WriteLine(i.ToString());
16: }
17:
18: }
19: }
20: }
截图:
http://s2/middle/673ccb5b4b2a2ef28b4e1&690
注:当然在javascript中split完全可以以字符串分割,好像java也可以。
前一篇:隐藏方法——new修饰