use*_*604 4 java string compare
我想编写一个java方法,如果字符串是回文,则返回true.
这是我到目前为止:
String palindrome = "...";
boolean isPalindrome = palindrome.equals(
new StringBuilder(palindrome).reverse().toString());
Run Code Online (Sandbox Code Playgroud)
我的问题在于它不会像以下这样的词:Race car成为回文.
Doc, note, I dissent. A fast never prevents a fatness. I diet on cod.
Run Code Online (Sandbox Code Playgroud)
测试这是否是回文的最佳方法是什么,不区分大小写并忽略标点符号.
使用此正则表达式删除所有标点符号和空格并将其转换为小写
String palindrome = "..." // from elsewhere
boolean isPalindrome = palindrome.replaceAll("[^A-Za-z]", "").toLowerCase().equals(new StringBuilder(palindrome.replaceAll("[^A-Za-z]", "").toLowerCase()).reverse().toString());
Run Code Online (Sandbox Code Playgroud)