0

我的意思是什么字符串值被接受为分隔符?这是因为我一直在尝试使用由几个不同字符组成的字符串,但程序似乎忽略了它,因为只是用空白空间作为默认分隔符进行扫描......

例如,如果标记化字符串如下:电话号码 = 790-3233

我希望第一个标记达到“=”因此我将其设置为分隔符,下一个标记应该只是字符串“790-3233”

提前致谢...

4

3 回答 3

1

默认情况下,分隔符是space,如果您不提供一个

    // Extracted StringTokenizer.java
     public StringTokenizer(String string) 
    {
            this(string, " \t\n\r\f", false); 
    }

如果您=与字符串一起提供分隔符,则它会拆分

StringTokenizer st = new StringTokenizer("Phone Number = 790-3233","=");
于 2011-02-19T09:28:58.520 回答
1

根据API 文档的评论

StringTokenizer 是一个遗留类,出于兼容性原因保留,但不鼓励在新代码中使用它。建议任何寻求此功能的人改用 String 的 split 方法或 java.util.regex 包。

在这种情况下我会使用 split :

String text = "Phone Number = 790-3233";
String[] tokens = text.split("\\s*=\\s*");

正则表达式\s*=\s*匹配零个或多个空格字符,后跟一个=符号,然后是零个或多个空格字符。

于 2011-02-19T09:29:09.593 回答
0

采用 :

String[] result = "your string=790-3233".split("=");

对于字符串 Tokenizer,请参阅参考资料

于 2011-02-19T09:30:58.937 回答