Java 字符串切割split()和Tokenizer
2015-01-11 10:47
405 查看
java.lang.String中字符串切割的方法:
regex:用于划分的正则表达式
limit:参数控制模式应用的次数,影响所得数组的长度。这个值可正可负可为零,这里只说工作中常用的即limit为正数,表示返回的数组中元素的个数。
如下对应:
如下示例代码:
有一些情况下分隔符比较特殊,需要我们转译之后才能使用,如下示例:
1."|"、 “*” 、 "+" 都必须加上转译字符,即前面加上"\\"。
2.还有一个更特殊的,如果分隔符是"\",那就必须写成"\\\\"。
3.如果一个字符串中有多个分隔符,可以用"|"作为连接字符。
如: String str = "我#爱-你",则可以写成str.split("#|-"),代码如下:
下面介绍另外一个分割字符串的工具:java.util.StringTokenizer
这也是一个字符串分割解析工具,所以它在util包下,但这个类是出于兼容性的原因而被保留的遗留类,所以并不建议使用它,建议使用String类中的split()方法进行字符串切割。下面通过一个示例来体会一下这个工具类,还是先来看看构造方函数和相关方法吧:
示例代码如下:
同样StringTokenizer也可以指定多个分隔符,如下:
输出结果如下:
public String[] split(String regex) public String[] split(String regex,int limit)参数说明:
regex:用于划分的正则表达式
limit:参数控制模式应用的次数,影响所得数组的长度。这个值可正可负可为零,这里只说工作中常用的即limit为正数,表示返回的数组中元素的个数。
如下对应:
Regex Limit 结果 : 2 { "boo", "and:foo" } : 5 { "boo", "and", "foo" }
如下示例代码:
public class SplitTest { public static void main(String[] args) { String str = "我-爱-你"; /******************public String[] split(String regex)**********/ //切割 String[] splits = str.split("-"); //遍历输出 for (String s : splits){ System.out.println(s); } /*********************public String[] split(String regex,int limit)**********/ int limit = 2;//切割返回的字符串数组中只有两个元素 String[] rsplits = str.split("-", limit); for (String s : rsplits){ System.out.println(s); } } }输出结果:
我 爱 你 我 爱-你注:采用split("-",2)时,返回的是两个元素的数组第一个元素是"我";第二个元素是"爱-你"。
有一些情况下分隔符比较特殊,需要我们转译之后才能使用,如下示例:
public class SplitTest { public static void main(String[] args) { String str = "我.爱.你"; /******************public String[] split(String regex)**********/ //切割 String[] splits = str.split("\\."); //遍历输出 for (String s : splits){ System.out.println(s); } } }输出结果:
我 爱 你常用分隔符注意事项:
1."|"、 “*” 、 "+" 都必须加上转译字符,即前面加上"\\"。
2.还有一个更特殊的,如果分隔符是"\",那就必须写成"\\\\"。
3.如果一个字符串中有多个分隔符,可以用"|"作为连接字符。
如: String str = "我#爱-你",则可以写成str.split("#|-"),代码如下:
public class SplitTest { public static void main(String[] args) { String str = "我#爱-你=呀"; /******************public String[] split(String regex)**********/ //切割 String[] splits = str.split("#|-|="); //遍历输出 for (String s : splits){ System.out.println(s); } } }输出结果如下:
我 爱 你呀
下面介绍另外一个分割字符串的工具:java.util.StringTokenizer
这也是一个字符串分割解析工具,所以它在util包下,但这个类是出于兼容性的原因而被保留的遗留类,所以并不建议使用它,建议使用String类中的split()方法进行字符串切割。下面通过一个示例来体会一下这个工具类,还是先来看看构造方函数和相关方法吧:
构造函数 StringTokenizer(String str): 构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。 StringTokenizer(String str,String delim): 构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。 常用方法 boolean hasMoreTokens():返回是否还有分隔符。 boolean hasMoreElements():返回是否还有分隔符。 String nextToken():返回从当前位置到下一个分隔符的字符串。 Object nextElement():返回从当前位置到下一个分隔符的字符串。注:值得一提的是第一个构造函数即当不指定分隔符时,会使用java默认的分隔符即“空格”、“制表符(\t)”、“换行符(\n)”、"回车符(\r)"。
示例代码如下:
public class SplitTest { public static void main(String[] args) { String str = "我-爱-你"; //创建StringTokenizer对象 StringTokenizer stringTokenizer = new StringTokenizer(str,"-"); //使用hasMoreElements()遍历输出 while (stringTokenizer.hasMoreElements()){ System.out.println(stringTokenizer.nextElement()); } //使用hasMoreTokens()遍历输出 while (stringTokenizer.hasMoreTokens()){ System.out.println(stringTokenizer.nextToken()); } } }如果不指定分隔符时,会采用默认的分隔符,如下:
public class SplitTest { public static void main(String[] args) { String str = "我 爱-你"; //创建StringTokenizer对象 StringTokenizer stringTokenizer = new StringTokenizer(str); //使用hasMoreElements()遍历输出 while (stringTokenizer.hasMoreElements()){ System.out.println(stringTokenizer.nextElement()); } } }结果如下:
我 爱-你
同样StringTokenizer也可以指定多个分隔符,如下:
public class SplitTest { public static void main(String[] args) { String str = "我 爱-你#啊&哈"; //创建StringTokenizer对象 StringTokenizer stringTokenizer = new StringTokenizer(str," -#&"); //使用hasMoreElements()遍历输出 while (stringTokenizer.hasMoreElements()){ System.out.println(stringTokenizer.nextElement()); } } }注:多个分隔符之间不需要使用其他符号隔开。
输出结果如下:
我 爱 你啊
哈
相关文章推荐
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- java中使用split方法切割字符串无效进行时
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- java使用split切割字符串的时候,注意转义字符
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- java 字符串 Split切割 特殊字符(例:* ^ : | )注意点
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串
- Java split()方法实现切割字符串