首页 > 代码库 > 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方法