我需要使用分隔符对字符串进行标记。
StringTokenizer
能够用给定的分隔符对字符串进行标记。但是,当字符串中有两个连续的分隔符时,则不将其视为标记。
提前感谢您的帮助
认为,
StringTokenizer
对象的构造函数的第二个参数只是一个字符串,包含您需要的所有分隔符。
StringTokenizer st = new StringTokenizer(str, "@!");
在这种情况下,有两个分隔符@
和!
考虑这个例子:
String s = "Hello, i am using Stack Overflow;";
System.out.println("s = " + s);
String delims = " ,;";
StringTokenizer tokens = new StringTokenizer(s, delims);
while(tokens.hasMoreTokens())
System.out.println(tokens.nextToken());
在这里,您将得到类似于以下3个分隔符的输出:
Hello
,
i
am
using
Stack
Overflow
;
查看String.split()
这应该是你正在寻找的。
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html使用java.lang.String的split()方法并向它传递一个匹配一个或多个分隔符条件的正则表达式。
例如,"a||b|||c||||d"
的可以用split("\|{2,}");
进行标记,得到的数组为[a,b,c,d]