public class PalindromeChecker {
public static boolean isPalindrome(String s) {
// Remove non-alphanumeric characters and convert to lowercase
String normalized = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
System.out.println(normalized);
// Reverse the string and compare
String reversed = new StringBuilder(normalized).reverse().toString();
return normalized.equals(reversed);
}
public static void main(String[] args) {
String s = "+^-Ab#c!D 50...# 05*()dcB[]A##@!$";
System.out.println(isPalindrome(s));
}
}
/*
run:
abcd5005dcba
true
*/