如何摆脱回文中的空白(Java)

时间:2017-03-29 14:35:36

标签: java

public class reverserapp {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      System.out.println("Please Enter a word");
      String str = scan.nextLine();

      String reverse = "";
      for( int i = str.length() - 1; i >= 0; i--)
          reverse += str.charAt(i);

      if(reverse.equalsIgnoreCase(str))
          System.out.println("Palindrome");
      else System.out.println("Not Palindrome");

    }

}

这是我的回文代码。我这样做是为了一个小任务。我可以用单个单词来工作,但如果我写了一些像“不要点头”的东西,它就会显示为不是回文。我怎样才能做到这一点?我希望我的代码可以忽略标点符号和空格。

所以最终结果应该像“dontnod”

在此先感谢您的帮助,在此完成noob。

3 个答案:

答案 0 :(得分:4)

删除所有非字母字符,然后将生成的String放入小写字母。

str = str.replaceAll("[^a-zA-Z]", "");
str = str.toLowerCase();

答案 1 :(得分:1)

您可以使用 StringUtils 中的替换功能。

示例:

StringUtils.replace("asdasd aaaa", " ", ""); //-> output: asdasdaaaa

答案 2 :(得分:1)

您可以定义val result = nodes.groupBy("name").sum() result.map(x => x.mkString("\t")).saveAsTextFile("hdfs://localhost:8020" + args(1)) 以删除标点和空格,并在输入上执行字符串regex,例如:

replace