用扫描仪拆分字符串

时间:2014-04-05 08:00:05

标签: java string java.util.scanner

我正在尝试使用Java中的Scanner将字符串拆分为另外两个字符串。它似乎没有起作用。我只能通过Google查找使用Scanner读取控制台输入的示例。我按照我从扫描仪手册中做的事情的方式制定出来,而且我不确定我的错误。

String elem = "hello.there";
Scanner s = new Scanner(elem);
s.useDelimiter(".");
String first = s.next();
String second = s.next();

第一个和第二个显示空白,我不知道为什么。

3 个答案:

答案 0 :(得分:4)

你需要改变时期(.):

s.useDelimiter("\\.");

然后使用next()返回下一个完整令牌,因为如果扫描程序在其输入中有另一个令牌,hasNext()会返回boolean代表:

String first = s.next();
String second = s.next();

答案 1 :(得分:2)

import java.util.Scanner;

public class TokenizeUsingScanner {


/**
 * This java sample code shows how to split
 * String value into tokens using
 * Scanner. This program tokenize
 * the input string base on the delimiter
 * set by calling the useDelimiter method
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    String input = "hello.there";
    Scanner s = new Scanner(input);
    s.useDelimiter("\\.");
    while(s.hasNext()){
        System.out.println(s.next());
    }
}
}

答案 2 :(得分:0)

String first = s.hasNext();返回布尔值,因此您无法将其分配给字符串。

你需要

String first = s.next();