当前位置: 首页 > 面试题库 >

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

狄睿
2023-03-14
问题内容

我想编写一个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.

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


问题答案:

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

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


 类似资料:
  • 问题内容: 宣言: 然后这个 返回true,但如果声明为: 然后返回false,因为比较区分大小写。 如何使该比较不区分大小写? 问题答案: 您可以使用 将字符串转换为所有小写字符

  • 检查字符串是否小写。 将给定的字符串转换为小写,使用 String.toLowerCase() 并将其与原始值进行比较。 const isLowerCase = str => str === str.toLowerCase(); isLowerCase('abc'); // true isLowerCase('a3@$'); // true isLowerCase('Ab4'); // fals

  • 问题内容: 说我有两个弦, 我要执行s2包含在中的支票退回s1。我可以这样做: 我很确定这是区分大小写的,但是我无法通过阅读文档确定这一点。如果是这样,我想我最好的方法就是这样: 撇开所有这些,是否还有另一种(可能更好)的方法来完成此任务而不关心区分大小写? 问题答案: 是的,包含的内容区分大小写。你可以将标志一起使用,以区分大小写: 编辑:如果s2包含正则表达式特殊字符(其中有很多),则首先引用

  • 当输入像“os so”这样的字符串时,输出不正确,因为该字符串没有作为回文报告。这个问题似乎与空格有关,因为如果相同的字符串中没有空格,它将正确地作为回文报告。我真的有兴趣了解这个代码的缺陷,任何帮助都将非常感谢!

  • 问题内容: 我想检查一个字符串是否是回文。我想学习一种使用最少的字符串操作来检查相同内容的简单方法 问题答案: 您可以尝试这样的事情:

  • 我正在进行排序,并希望控制alpha值的cmp不区分大小写(即。https://perl6.org/archive/rfc/143.html). 有没有:我可能是这个的副词?