split和StringTokenizer使用多个分隔符的情况

来源:互联网 发布:殷都区水冶镇豫广网络 编辑:程序博客网 时间:2024/05/16 20:30

public String[] split(String regex)

根据给定正则表达式的匹配拆分此字符串。

public StringTokenizer(String str, String delim) 
str - 要解析的字符串。
delim - 分隔符。


这篇文章主要说明的是,当需要用多个分隔符的时候,应该如何编写;


代码:

import java.util.StringTokenizer;public class MultiplySeparator {// 测试多个分隔符的情况public static void main(String[] args) {String content = "a,b,c,d;e;f.g,d;f.h.z.v.b.m#e";String[] results = content.split("\\.|;|#|,"); //注意这里的转义  for(int i = 0; i < results.length; i++) {System.out.println(results[i]);}System.out.println("==== 快乐的分隔线 ====");StringTokenizer st = new StringTokenizer(content, ".,#");while(st.hasMoreTokens()) {System.out.println(st.nextToken());}}}

运行结果:

abcdefgdfhzvbme==== 快乐的分隔线 ====abcd;e;fgd;fhzvbme


结果和我们预期的一样,如果split里面的正则表达式写成如下格式:content.split(".|;|#|,"),结果又会是怎么样的呢?有兴趣的童鞋可以自己测试一下。


注意:

1、如果使用"."和"|"作为分隔符,需要转义,即写成split("\\.")或者是split("\\|"),这样才能和预期的结果一样;

因此,当我们的分隔符本身为转义字符的时候,必须要告诉系统,我是以“|”来分隔,这里的“|”并不是转义字符。


2、如果需要多个分隔符来处理某一个字符串,可以使用“|”作为连接符,例如:content.split("\\.|;|#|,")。

原创粉丝点击