簡體   English   中英

如何在回文式(Java)中消除空白

[英]How to get rid of white space in palindrome (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");

    }

}

這是我的回文代碼。 我正在做一個小任務。 我可以使用單個單詞來工作,但是如果我寫類似“ Do n't nod”的字樣,則表明它不是回文。 我該如何實現? 我想讓我的代碼忽略標點符號和空格。

所以最終結果應該像“ dontnod”

預先感謝您的任何幫助,請完成這一步。

刪除所有非字母字符,然后將結果String為小寫。

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

您可以使用StringUtils中replace函數。

例:

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

您可以定義一個regex來刪除標點符號和空格,並在輸入上執行字符串replace ,例如:

String regex = "[\\p{Punct}\\s]";
String input = "don't nod";
System.out.println(input.replaceAll(regex, ""));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM