我在使用 split()
时遇到问题。当输入“This is a text”之类的文本时,它仅打印“This”。
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Enter bta3 ");
Scanner s1 = new Scanner(System.in);
String toParse = s1.next();
String delims = "[ ]+";
String[] tokens = toParse.split(delims);
for (int i = 0; i < tokens.length; i++) {
{
System.out.println(tokens[i]);
}
}
}
最佳答案
您的问题不在于split
,而是在于Scanner
,它默认使用一个或多个连续空格作为分隔符,因此s1.next()
将仅从用户输入中返回一个单词(没有空格),这意味着
String toParse = s1.next();
对于像This is a text
这样的输入将变成This
(因此没有空格可以分割)
如果您想从用户输入中读取整个数据,请使用s1.nextLine()
。
关于java - 无法使 split() 函数执行我想要的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23457430/