[英]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.