Java,检查字符串是否是回文不区分大小写

问题描述

使用此正则表达式删除所有标点和空格并将其转换为小写

String palindrome = "..." // from elsewhere
boolean ispalindrome = palindrome.replaceAll("[^A-Za-z]", "").toLowerCase().equals(new StringBuilder(palindrome.replaceAll("[^A-Za-z]", "").toLowerCase()).reverse().toString());

解决方法

我想编写一个Java方法,如果字符串是回文,则返回true。

这是我到目前为止的内容:

String palindrome = "...";
boolean isPalindrome = palindrome.equals(
   new StringBuilder(palindrome).reverse().toString());

我的问题是,它不考虑像这样的单词:Race car回文。

Doc,note,I dissent. A fast never prevents a fatness. I diet on cod.

在不区分大小写并忽略标点符号的情况下,测试这是否是回文式的最佳方法是什么。