Comment remplacer \u0026 avec &?
En Java, j'ai besoin de changer cela:
myid=460\u0026url=http%3A%2F%2Fr20-xxxx
...à ceci:
myid=460&url=http%3A%2F%2Fr20-xxxx
Voici ce que j'ai essayé:
String map = "myid=460\\u0026url=http%3A%2F%2Fr20-xxxx";
p = Pattern.compile("\\u0026");
m = p.matcher(map);
if (m.find()) {
String ret = m.replaceAll("&");
}
...mais il ne peut pas trouver le \u0026
.
- Jetez un oeil à ce - lexsrv3.nlm.nih.gov/LexSysGroup/Projects/lvg/current/docs/...
- Quelle sorte de dégoûtant système vous travaillez avec qui vous offre des chaînes avec un mélange spécial de codages de caractères?
- Va
str.replaceAll("\\\u0026", "&")
travail pour vous? - Non, il doit être quatre barres obliques inverses. La chaîne de caractères littérale
"\\\u0026"
allait devenir la regex\&
.
Vous devez vous connecter pour publier un commentaire.
Si vous devez utiliser une regex, alors vous devez vous échapper de la barre oblique inverse est dans la Java de la chaîne. Ensuite, vous devez vous échapper deux barres obliques inverses pour les regex interprétation. Essayez
Mais un simple
remplacer
devrait suffire (il n'utilise pas de regex), avec une seule itération de s'échapper de la barre oblique inverse, pour Java:N'est pas quelque chose d'aussi simple que de
travail?
&
que le compilateur java décode le format unicode. Ce que vous avez est la même que l'écriture"...".replace("&", "&");