I tried to replace characters in String which works sometimes and does not work most of the time.
I tried the following:
String t = "[javatag]";
String t1 = t;
String t2 = t;
t.replace("\u005B", "");
t.replace("\u005D", "");
t1.replace("[", "");
t1.replace("]", "");
t2.replace("\\]", "");
t2.replace("\\[", "");
System.out.println(t+" , "+t1+" , "+t2);
The resulting output is still "[javatag] , [javatag] , [javatag]
" without the "[" and "]" being replaced.
What should I do to replace those "[" and "]" characters ?
String.replace doesn't work that way. You have to use something like
t = t.replace("t", "")
String
s in Java are immutable, meaning you can't change them. Instead, dot1 = t1.replace("]", "");
. This will assign the result ofreplace
to t1.String
objects in java are immutable. You can't change them.You need:
replace()
returns a newString
object.Edit: Because ... I'm breaking away from the pack
And since this is the case, the argument is actually a regex, and you want to get rid of both brackets, you can use
replaceAll()
instead of two operations:This would get rid of both opening and closing brackets in one fell swoop.
Strings are immutable so
does nothing
you need to assign the output to some variable like
gives you a String (return a string)
you can reassign the origin variable name to the new string
and the old string will later been garbage-collected :)
String.replace() returns a new string after replacing the required characters. Hence you need to do it in this way: