Escape Unicode в событии Android OnTextChanged: от "цена:10rs" до "u0070", "u0063", "u003A", "u0031", "
Как я могу избежать любого Unicode в событии Android OnTextChanged?? Как "цена", чтобы "\u0070\u0072\u0069\u0063\u0065
Я пытался, но не могу найти решение. Это мой текстовый наблюдатель
price.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@SuppressLint("NewApi")
public void onTextChanged(CharSequence s, int start,
int before, int count) {
MainActivity.this.priceshow(s);
}
});
и это моя CharSequence
private String priceshow (CharSequence s) {
String priceshowstring= "";
priceshowstring = s.toString().replace("","");
System.out.println(priceshowstring);
return priceshowstring;
}
1 ответ
Решение
Чтобы преобразовать символ в его представление Unicode, вы можете использовать
String.format("\\u%04x", (int) character);
Используйте StringBuilder для конвертации всей CharSequence
StringBuilder builder = new StringBuilder();
for (int i = 0, length = charSequence.length(); i < length; i++) {
builder.append(String.format("\\u%04x", (int) charSequence.charAt(i)));
}
String result = builder.toString();