Java 拆分一个字符串’;我是用扫描仪进入的
我有个问题。我想用两个单词键入一个字符串(使用Java.util.scanner)。然后我希望程序在空白处分割输入的字符串,将两个子字符串保存在一个单独的变量中,并在最后生成一个输出 我知道你可以用手指分开琴弦Java 拆分一个字符串’;我是用扫描仪进入的,java,split,java.util.scanner,Java,Split,Java.util.scanner,我有个问题。我想用两个单词键入一个字符串(使用Java.util.scanner)。然后我希望程序在空白处分割输入的字符串,将两个子字符串保存在一个单独的变量中,并在最后生成一个输出 我知道你可以用手指分开琴弦 String s = "Hello World"; String[] = s.split(" "); 但是,当你的弦断开时,它似乎不起作用 Scanner sc = new Scanner(System.in); String s = sc.nextLine(); 有什么帮助吗? 非
String s = "Hello World";
String[] = s.split(" ");
但是,当你的弦断开时,它似乎不起作用
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
有什么帮助吗?
非常感谢s.split(\\s+)代码>将分割字符串,即使您有多个空白字符(还有制表符、换行符..)
您还可以使用fromjava.util
包
StringTokenizer tokens = new StringTokenizer(s.trim());
String word;
while (tokens.hasMoreTokens()) {
word = tokens.nextToken();
}
或者来自ApacheCommonsLang
StringUtils.split(s)
您的代码适用于我:
String s;
s=sc.nextLine();
String[] words=s.split(" ");
for(String w:words){
System.out.print(w+" ");
}
输入:“你好,世界”
输出:“Hello world”
您可能还想尝试这种方式来拆分从用户输入中获得的字符串:
Scanner sc = new Scanner(System.in);
String[] strings = sc.nextLine().split("\\s+");
如果您只想打印包含这些分隔字符串的数组,可以不使用任何循环,只需使用:
Arrays.toString(strings);
如果您想让打印的字符串看起来不一样,可以使用简单的循环打印每个元素,或者使用StringBuilder
类及其append()
method-这种方法可能比在更长的字符串数组上循环更快。您的代码应该适用于第一行上由单个空格分隔的两个输入字。你的意见是什么?也许,System.out.println(“DEBUG:s=“+s”)代码>可以帮助澄清您的问题。您的代码似乎还可以。第二个代码似乎不起作用是什么意思?你有什么错误吗?您提供的输入和程序的输出是什么?实际上输出是“Hello world”