如何从字符串中获取下一个标记?

gst*_*low -1 java string parsing

我想写一个小算法.

我现在面临的以下问题:我有一个String可以包含数字和以下符号:-,(,).我想解析它,所以我可以得到每个符号和数字.

我想写的方法,(getNextToken)应该连续返回符号和数字.例如:getNextToken("(123-456)-12-1")应该返回:

  • 在第一个电话: "("
  • 在第二个电话: "123"
  • 在第三个电话: "-"

等等.

我面临的问题是每个数字部分可以包含几个数字.

我知道编写这种函数并不是什么大问题,但它不是一个"原始"函数.那么,Java有一个utilit类来解决这个问题吗?

小智 5

可以调用java.util.StringTokenizer以在标记中包含分隔符

String str = "(123-456)-12-1";
StringTokenizer tokenizer = new StringTokenizer( str,"-()",true);
while (tokenizer.hasMoreTokens()) {
    System.out.println(tokenizer.nextToken());
 }
Run Code Online (Sandbox Code Playgroud)

回报

(
123    
-
456
)
-
12
-
1
Run Code Online (Sandbox Code Playgroud)

这是你想要的吗?