给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
public class PalindromeRegular {
public boolean isPalindrome(String s) {
//去掉非字母数字的字符
String actual = s.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
//把字符反转
String rev = new StringBuffer(actual).reverse().toString();
//反转的字符与原有的字符比较
return actual.equals(rev);
}
}
运行结果:
基础知识:
replaceAll() 方法使用给定的参数 replacement 替换字符串所有匹配给定的正则表达式的子字符串。
语法:public String replaceAll(String regex, String replacement)
参数:regex -- 匹配此字符串的正则表达式。
replacement -- 用来替换每个匹配项的字符串。
返回值:成功则返回替换的字符串,失败则返回原始字符串。