如何将 Stringtokenizer 更改为 String

Posted

技术标签:

【中文标题】如何将 Stringtokenizer 更改为 String【英文标题】:How to change Stringtokenizer to String 【发布时间】:2013-10-24 16:07:49 【问题描述】:

我的代码在这里想将 Stringtokenizer 更改为 String,因为我得到的信息是在句子中,我想将它缩减到某个部分。

StringTokenizer numberOfPost_string = new StringTokenizer( numberOfPost_text , delimiters );

System.out.println( numberOfPost_string.nextToken() );

int numberOfPost = Integer.parseInt(numberOfPost_string);

我遇到的问题是在line int numberOfPost = Integer.parseInt(numberOfPost_string); 上,它给了我错误。

或者我还有其他方法可以减少句子并将其转换为整数吗?

【问题讨论】:

你需要把numberOfPost_text的内容和分隔符贴上去 我从 numberOfPost_text 得到的是“1,221(每天 0.9 个帖子/论坛帖子总数的 0.00%)”。我想要的是字符串中的 1,221 值。我的分隔符是空格 为此使用正则表达式,而不是字符串标记器 【参考方案1】:

你可能想使用nextToken的返回值:

StringTokenizer numberOfPost_string = new StringTokenizer( numberOfPost_text , delimiters );
int numberOfPost = Integer.parseInt(numberOfPost_string.nextToken());

你也可以使用split:(虽然这可能效率略低)

int numberOfPost = Integer.parseInt(numberOfPost_text.split(delimiters)[0]);

请记住,split 采用 regular expression String,因此要为字符指定多个选项,您需要将它们用 [] 包围。指定;,:

String delimiters = "[;,:]";

【讨论】:

int numberOfPost = Integer.parseInt(numberOfPost_string.nextToken()); 似乎有问题我在那条线上遇到了错误。你能帮我检查一下吗?抱歉,我是 Java 新手。 线程“AWT-EventQueue-0”java.lang.NumberFormatException 中的异常:对于输入字符串:java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 处 java.lang 处的“1,221” .Integer.parseInt(Integer.java:492) at java.lang.Integer.parseInt(Integer.java:527) at fyp.draft.pkg1.Design.jButton2ActionPerformed(Design.java:161) 等等 这正是它的意思。 1,221 不是有效的整数。 1221 是。 @PohSun 1,221 无法被 parseInt 解析。见this question。 @Dukeling。知道了。对不起。没有意识到这一点。我的错误已得到修复。抱歉,感谢您的宝贵时间。【参考方案2】:

将标记转换为字符串

String x = "";
StringTokenizer in = new StringTokenizer(str, ",;");
while(in.hasMoreTokens()) 
    x = x + in.nextToken().toString();

System.out.print(x);

【讨论】:

以上是关于如何将 Stringtokenizer 更改为 String的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Tkinter 按钮状态从禁用更改为正常?

如何将退格键更改为 '\b'?

如何将 CakePHP 2 模型关联更改为与 bindModel 和自定义查找器的深度链接?

如何将此 JSON 字符串更改为特定格式?

我如何将帧数据更改为时间序列?

Laravel 迁移 - 如何将 `id` 字段更改为主要字段并稍后自动递增