I would just use the Character object to make it simple.
Something like that:
public String getSpecialSymbols(String s) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i++) { Character c = s.charAt(i); if (!c.isDigit() && !c.isWhitespace() && !c.isLetter()) { sb.append(c); } } return sb.toString(); }
That would be even simpler:
public String getSpecialSymbols(String s) { String special = " !@ #$%^&*()_+-=[]{}|'\";\\:/?.>,<~`"; for (int i = 0; i < s.length(); i++) { String c = s.substring(i, 1); if (special.contains(c)) { sb.append(c); } } return sb.toString(); }
source share