Java 字符串s小写转换为[^a-zA-Z0-9]
有一个字符串Java 字符串s小写转换为[^a-zA-Z0-9],java,expression,Java,Expression,有一个字符串s,我看到一个代码是: s = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase(); 使用这种代码的原因是什么?它有什么作用 这是完整的解决方案: public static boolean isValidPalindrome(String s){ if(s==null||s.length()==0) return false; s = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCas
s
,我看到一个代码是:
s = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
使用这种代码的原因是什么?它有什么作用
这是完整的解决方案:
public static boolean isValidPalindrome(String s){
if(s==null||s.length()==0) return false;
s = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
System.out.println(s);
for(int i = 0; i < s.length() ; i++){
if(s.charAt(i) != s.charAt(s.length() - 1 - i)){
return false;
}
}
return true;
}
public static void main(String[] args) {
String str = "A man, a plan, a canal: Panama";
System.out.println(isValidPalindrome(str));
}
公共静态布尔值IsValidAlindrome(字符串s){
如果(s==null | | s.length()==0)返回false;
s=s.replaceAll(“[^a-zA-Z0-9]”,“).toLowerCase();
系统输出打印项次;
对于(int i=0;i
正则表达式匹配所有非a-z、a-z或0-9的字符。
这些字符被替换为零,表示从字符串中删除。
然后所有内容都转换为小写
因此,您将得到一个只包含数字和小写字母的字符串。这对于您想要清理或类似的用户输入可能很重要正则表达式
[^a-zA-Z0-9]
将删除(替换为”
)从a到Z
和0到9不同的任何字符
在此之后,它将小写(.toLowerCase()
)字符串中的所有剩余字符,即:
String s = "abc&AA_";
将成为:
abcaa
现场示例
我正在尝试解决一个回文问题,在programming creek网站中有一个解决方案,并使用此表达式来解决。从replaceAll
文档中,您可以了解此方法接受正则表达式,从regex教程中,您可以了解到[^a-zA-Z)-9]
是。