0

我需要使用分隔符标记字符串。

StringTokenizer能够使用给定的分隔符标记字符串。但是,当字符串中有两个连续的分隔符时,则不将其视为标记。

提前感谢您的帮助

问候,

4

4 回答 4

3

object构造函数的第二个参数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

;
于 2011-12-21T09:45:31.590 回答
2

查看 String.split()

这应该做你正在寻找的。

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

于 2011-12-21T09:42:58.007 回答
2

使用 java.lang.String 的 split() 方法并向其传递一个匹配您的一个或多个分隔符条件的正则表达式。

例如"a||b|||c||||d",可以使用split("\\|{2,}");结果数组进行标记[a,b,c,d]

于 2011-12-21T09:45:32.230 回答
1
public StringTokenizer(String str,
                       String delim)

为指定的字符串构造一个字符串标记器。中的字符delim argument是分隔标记的分隔符。分隔符本身不会被视为标记。
因此,您可以使用 ..

String.split(String delim);
于 2011-12-21T09:42:47.580 回答