Java 如何放置一个忽略的案例
我想放一个忽略大小写、标点符号和空格。下面是我想调用它的代码:Java 如何放置一个忽略的案例,java,Java,我想放一个忽略大小写、标点符号和空格。下面是我想调用它的代码: public static boolean isPal(String s) { if(s.length() == 0 || s.length() == 1) return true; if(s.charAt(0) == s.charAt(s.length()-1)) return isPal(s.substring(1, s.length()-1)); return false
public static boolean isPal(String s)
{
if(s.length() == 0 || s.length() == 1)
return true;
if(s.charAt(0) == s.charAt(s.length()-1))
return isPal(s.substring(1, s.length()-1));
return false;
}
最简单的方法是将字符串转换为小写或大写,并进行所有比较,例如
public static boolean isPal(String s)
{
s = s.toLowerCase().replaceAll("[^a-z]", "");
// Or if you want to allow digits
//s = s.toLowerCase().replaceAll("[^\\w]", "");
// Do all your comparisons
}
最简单的方法是将字符串转换为小写或大写,并进行所有比较,例如
public static boolean isPal(String s)
{
s = s.toLowerCase().replaceAll("[^a-z]", "");
// Or if you want to allow digits
//s = s.toLowerCase().replaceAll("[^\\w]", "");
// Do all your comparisons
}
您可以尝试添加以下行:
s = s.toLowerCase().replaceAll("[\\p{Punct}\\s]", "");
在方法的开头。您可以尝试添加行:
s = s.toLowerCase().replaceAll("[\\p{Punct}\\s]", "");
在方法的开头。您可以将字符串转换为任意一种情况,并使用它进行处理-
public static boolean isPal(String s) {
s = s.toLowerCase(); // or s.toUpperCase()
if(s.length() == 0 || s.length() == 1)
return true;
if(s.charAt(0) == s.charAt(s.length()-1))
return isPal(s.substring(1, s.length()-1));
return false;
}
要忽略标点符号的使用,可以使用下面给出的正则表达式。添加更多需要忽略的字符,并使用反斜杠对其进行转义\
[?:\\/\.]
将它添加到
replaceAll()
方法中,以不替换任何内容。您可以将字符串转换为任意一种情况,并使用它进行处理-
public static boolean isPal(String s) {
s = s.toLowerCase(); // or s.toUpperCase()
if(s.length() == 0 || s.length() == 1)
return true;
if(s.charAt(0) == s.charAt(s.length()-1))
return isPal(s.substring(1, s.length()-1));
return false;
}
要忽略标点符号的使用,可以使用下面给出的正则表达式。添加更多需要忽略的字符,并使用反斜杠对其进行转义\
[?:\\/\.]
将其添加到
replaceAll()
方法中,以不替换任何内容。删除大小写注意事项的简单方法是使用String
类的toLowerCase()
或toUpperCase()
方法强制字符串s
为小写或大写。至于空格和标点符号,在找到有效字符之前,您必须在字符串中向前移动。消除大小写注意事项的简单方法是使用string
类的toLowerCase()
或toUpperCase()
方法强制字符串s
为小写或大写。至于空格和标点符号,您必须在字符串中继续向前移动,直到找到有效字符。