replaceAll()方法不适用于用户输入字符串

时间:2019-11-07 18:16:52

标签: java string replaceall

代码如下:

    package zad;

    import java.util.*;

     public class zadaca_palindrom {
     public static void main(String[] args) {
        Scanner unos = new Scanner(System.in);
        System.out.println("Unesi recenicu:");
        String str = unos.next();
        String str1 = str.replaceAll("\\s+", "");
        System.out.println(str1);
    }}

当我输入一个字符串时,例如“我的名字叫John Doe”,我希望程序删除空格。但是,当我运行它时,它只会输出字符串的第一个单词(在本例中为“我的”)。欢迎任何帮助!谢谢

1 个答案:

答案 0 :(得分:1)

我相信您想阅读整行,而不仅仅是第一个单词。 您应该使用nextLine()而不是next()

public class zadaca_palindrom {
     public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Unesi recenicu:");
        String input = scanner.nextLine();
        String noSpacesInput = input.replaceAll("\\s+", "");
        System.out.println(noSpacesInput);
     }
}