首页 > 代码库 > split方法
split方法
第二次作业对于统计单词次数刚开始理解错题意了,还以为是两个单词之间用空格隔开,后来才知道就是简单用indexOf来查找即可,在写错的过程中查询了一些有关split函数的用法,整理下来。
1.java.lang.string.split,即split 方法,它实现的功能是将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 格式为:
stringObj.split([separator,[limit]])
其中stringObj是必选项,表示要被分解的
String 对象或文字。该对象不会被 split 方法修改。 separator
为可选项,表示字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit 为可选项,该值用来限制返回数组中的元素个数。 值得注意的是: split 方法的结果是一个字符串数组,在 stingObj
中每个出现 separator 的位置都要进行分解,separator 不作为任何数组元素的部分返回。
返回值为一个String数组。
2.几个常见例子
(1). String str = "123 456 789 111";
String [] strArray = str.split("s");
这里的s代表的是一个空格 因为正则表达式\s匹配任意的空白
(2).String str = "123 456 789 111";
String [] strArray = str.split(" ");
(3).多个空格,不管有多少空格就分隔
String str = "123 456 789 111";
String [] strArray = str.split("s+");
3.由于部分符号在正则表达式之中会有一些问题
特殊情况有 * ^ : | . \
上面的符号在正则表达式之中有特殊的含义,因此要作为split函数参数时必须加上转义\\
- String address="上海\上海市|闵行区\吴中路"; (注意两个反斜线代表着反斜线,即以\分割只需打两个即可)
String[] splitAddress=address.split("\\");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
- String address="上海|上海市|闵行区|吴中路";
String[] splitAddress=address.split("\\|"); //如果以竖线为分隔符,则split的时候需要加上两个斜杠【\\】进行转义
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
- String address="上海*上海市*闵行区*吴中路";
String[] splitAddress=address.split("\\*");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
split方法