String.Split()函数
来源:互联网 发布:php开源问答系统 编辑:程序博客网 时间:2024/05/17 19:58
我们在上次学习到了 String.Join函数(http://blog.csdn.net/zhvsby/archive/2008/11/28/3404704.aspx),其中用到了String.SPlit函数,所以可以上网查了该函数的使用方法 如下:
#中使用string.Split方法来分割字符串的注意事项:
string.Split给我们提供了非常灵活的使用方式,但是如果使用不当,会造成错误,最近在做code review时,看到大部分人这么使用:
string s = "A|B|:|C:D";
string[] ss = s.Split("|:|".ToCharArray());
//ss[0]: A
//ss[1]: B
//ss[2]:
//ss[3]:
//ss[4]: C
//ss[5]: D
其实他的本意是使用”|:|”将字符串分开的,目标是为了得到数组: “A|B”和 “C:D”,但是没有直接找到Split(string)的重载,所有就是用了ToCharArray(), 很显然, 得到的结果是错误的.
正确的用法为:
string[] ss1 = s.Split(new[] {"|:|"},StringSplitOptions.None);
//ss1[0]: A|B
//ss1[1]: C:D
后一个参数,是标志是否自动remove empty的数据.例如: "A|B|:|C:D|:|"做分割时,会返回三个数组,该数组的最后一个元素是空"",如果我们想过滤掉这些空的元素,可以使用参数: StringSplitOptions.RemoveEmptyEntries即:string[]ss1 = s.Split(new[] {"|:|"},StringSplitOptions.RemoveEmptyEntries);
例子:
s = "A|B|:|C:D|:|";
string[] ss1 = s.Split(new[] {"|:|"},StringSplitOptions.RemoveEmptyEntries);
//ss1[0]: "A|B"
//ss1[1]: "C:D"
ss1 = s.Split(new[] {"|:|" }, StringSplitOptions.None);
//ss1[0]: "A|B"
//ss1[1]: "C:D"
//ss1[2]: ""
首先我们看下String.Split 方法有6个重载函数:
2) public string[] Split(char[] separator, int count)
3) public string[] Split(char[] separator, StringSplitOptions options)
4) public string[] Split(string[] separator, StringSplitOptions options)
5) public string[] Split(char[] separator, int count, StringSplitOptions options)
6) public string[] Split(string[] separator, int count, StringSplitOptions options)
1. public string[] Split(params char[] separator)
string[] split = words.Split(new Char[] { ',', '.' });//返回:{"1","2","3","","4"}
2. public string[] Split(char[] separator, int count)
string[] split = words.Split(new Char[] { ',', '.' }, 6);//返回:{"1","2","3","","4"}
3. public string[] Split(char[] separator, StringSplitOptions options)
string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
4. public string[] Split(string[] separator, StringSplitOptions options)
string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
5. public string[] Split(char[] separator, int count, StringSplitOptions options)
string[] split = words.Split(new Char[] { ',', '.' }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
6. public string[] Split(string[] separator, int count, StringSplitOptions options)
string[] split = words.Split(new string[] { ",", "." }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
个人理解:Split 就是和String.Join相反的一个函数 它的作用是把一个字符串分隔成含有多个字段的数组
- String.Split()函数
- string split函数
- String.Split()函数
- String.Split()函数
- String.Split()函数
- String.Split()函数
- String.Split()函数
- String.Split()函数
- String.split函数
- java的String.split函数
- std::string的split函数
- String.split()函数使用注意事项
- [.Net码农]String.Split()函数
- Scala中的String.split函数
- C++ string split函数实现
- java string类型split函数
- Python3:string中的split()函数
- String.split()和StringTokenizer(string str,string delim)构造函数
- NYOJ-488 素数环
- PDF转器能转换成哪些类型的文件
- linux下文件管理
- 在Java中按字节获得字符串长度的两种方法
- 项目经验:css控制div显示横向滚动条
- String.Split()函数
- 游戏任务系统的设计要素
- Ubuntu 12.04 上配置ios开发环境搭建
- ORA-00020: maximum number of processes (%s) exceeded 的解决方法
- 你有precedence或相关性。
- 阶乘
- android中tabhost选项卡
- Ubutun常用命令之tar
- 工业超纯水机:EDI超纯水设备技术介绍