Replace/remove character in a StringTag(s): String/Number
To replace all occurences of a given character :
String tmpString = myString.replace( '\'', '*' ); System.out.println( "Original = " + myString ); System.out.println( "Result = " + tmpString );
The String class offers the replaceAll() method that can be used with String or char (JDK1.4+).
replaceAll() accepts a regex as argument so it can be very powerful.
To delete all non-digit in a String
System.out.println(
"@*1#^2$@!34#5ajs67>?<{8_(9SKJDH".replaceAll("\\D", ""));
// output : 123456789
If your project already depends on Apache Commons then
StringUtils
provides many methods to manipulate String objects, no need to reinvent the wheel!
import org.apache.commons.lang.StringUtils; ... foo = StringUtils.replace(foo, "bar", "baz"); // replace in foo the occurrence of bar" by "baz"
To replace a character at a specified position :
public static String replaceCharAt(String s, int pos, char c) {
StringBuffer buf = new StringBuffer( s );
buf.setCharAt( pos, c );
return buf.toString( );
}
public static String removeChar(String s, char c) {
StringBuffer r = new StringBuffer( s.length() );
r.setLength( s.length() );
int current = 0;
for (int i = 0; i < s.length(); i ++) {
char cur = s.charAt(i);
if (cur != c) r.setCharAt( current++, cur );
}
return r.toString();
}
public static String removeCharAt(String s, int pos) {
StringBuffer buf = new StringBuffer( s.length() - 1 );
buf.append( s.substring(0,pos) ).append( s.substring(pos+1) );
return buf.toString();
}
mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com