首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java“stringtokenizer.nextToken(delimiter);”是如何工作的?

java“stringtokenizer.nextToken(delimiter);”是如何工作的?
EN

Stack Overflow用户
提问于 2011-02-19 17:18:49
回答 3查看 10.6K关注 0票数 0

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

例如,如果标记化字符串如下: Phone Number = 790-3233

我希望第一个令牌直到“=”,因此我将其设置为分隔符,下一个令牌应该是字符串"790-3233“

先谢谢你...

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-19 17:28:59

缺省情况下,如果未提供分隔符,则分隔符为space

代码语言:javascript
复制
    // Extracted StringTokenizer.java
     public StringTokenizer(String string) 
    {
            this(string, " \t\n\r\f", false); 
    }

如果将=作为分隔符与字符串一起提供,则它将拆分

代码语言:javascript
复制
StringTokenizer st = new StringTokenizer("Phone Number = 790-3233","=");
票数 1
EN

Stack Overflow用户

发布于 2011-02-19 17:29:10

遵循remark from the API docs

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

在这种情况下,我将使用split:

代码语言:javascript
复制
String text = "Phone Number = 790-3233";
String[] tokens = text.split("\\s*=\\s*");

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

票数 1
EN

Stack Overflow用户

发布于 2011-02-19 17:30:59

使用:

代码语言:javascript
复制
String[] result = "your string=790-3233".split("=");

有关字符串令牌器的信息,请参阅reference

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5049934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档