我正在尝试使用Java中的Scanner将字符串拆分为另外两个字符串。它似乎没有起作用。我只能通过Google查找使用Scanner读取控制台输入的示例。我按照我从扫描仪手册中做的事情的方式制定出来,而且我不确定我的错误。
String elem = "hello.there";
Scanner s = new Scanner(elem);
s.useDelimiter(".");
String first = s.next();
String second = s.next();
第一个和第二个显示空白,我不知道为什么。
答案 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();