I have to remove Salutations like "C/O, C/o,c/o,S/O,S/o,s/o" etc from a string.These salutations comes a third party service. The service can return anything form these. How to do this effectively. I am doing this by using below code:
if(name.contains("C/O")){
name = name.replace("C/O", "").trim();
System.out.println("name: "+name);
}else if(name.contains("S/O")){
name = name.replace("S/O", "").trim();
System.out.println("name: "+name);
}else if(name.contains("c/o")){
name = name.replace("c/o", "").trim();
System.out.println("name: "+name);
}else if(name.contains("S/o")){
name = name.replace("S/o", "").trim();
System.out.println("name: "+name);
}
Any better approach to do this. Please suggest.
replaceAll("(?i)(C/O|S/O)", ""). The expression removes everything which isC/OorS/O, case insensitive. Then your code is onlyname = name.replaceAll("(?i)(C/O|S/O)", "");and that's it.name.contains(some_string)before performing the substitutionname.replace(some_string, "").