regex - Java replaceAll cannot replace a character in a string -


i want replace arabic letter heh (u+0647) arabic letter ae (u+06d5) in given string using java replaceall(regex, replacement) method. have code:

string arabicheh = "\u0647‌"; // arabic letter heh string arabicae  = "\u06d5"; // arabic letter ae              string text    = txtpane.gettext(); string newtext = text.replaceall(arabicheh, arabicae); 

when print newtext variable nothing changed, letter arabicheh still exist in string.

note: code works when write in way:

string newtext = text.replaceall("ه", arabicae); 

in other words, code works when make arabic letter heh parameter replaceall(regex, replacement), don't want write character "ه" inside code because not ides can read/show character.

i think arabibheh has problem, because text.contains(arabicheh) evaluates false while contains arabicheh, thought may problem in getting text jtextpane (string text = txtpane.gettext();) when print text console same text typed in jtextpane, including arabicheh.

anyone kindly can explain why text.contains(arabicheh) evaluates false or why code not working in text.replaceall(arabicheh, arabicae)?

when copypasted snippet i've got space after \u0647‌

string arabicheh = "\u0647‌ "; // arabic letter heh 

it https://en.wikipedia.org/wiki/zero-width_non-joiner

just remove code snippet , work :)


Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -