Il n'est pas de travail ,il montre un caractère non valide constante J'ai juste oublié d'échapper à la backslahes afin de permettre de les mettre dans une Chaîne de caractères constante (édité). Je suppose que la Chaîne que vous recevez n'est pas déclaré de cette manière. Ceci est source de confusion, je ne sais pas pourquoi mais "Kotibab" semble avoir "\/", ce qui j'imagine doit être remplacé par "/". Donc @Kotibab: vous voudrez peut-être essayer myUrl.remplacer("\",""); (est-il les guillemets simples ou doubles, je ne suis pas sûr, mais il doit être double, comme je l'ai mis.) j'ai essayé une autre méthode merci pour ur aider Je pense que vous vouliez dire myUrl.replace("\\/","/"); ou myUrl.replace("\\",""); comme il n'y a pas une telle chose comme les caractères vide. 😉
@Kevin réponse contient un problème fatal. Le String.replace(char, char) remplace les occurrences d'un caractère par un autre personnage. Il ne permet pas de supprimer des caractères.
Aussi '' n'est pas valide Java, car il n'y a pas une telle chose comme un de caractères vide.
Voici quelques solutions qui devraient fonctionnent réellement (et compiler!):
Cela supprime simplement chaque barre oblique inverse sans prendre en compte le contexte.
fixedUrl = myUrl.replace("\\/","/");
Cela remplace échappé obliques à la plaine des barres obliques.
fixedUrl = myUrl.replaceAll("\\\\(.)","\");
Ce "de débutant" tout les séquences d'échappement dans la Chaîne, gérer correctement échappé barres obliques inverses, et non pas la suppression d'une barre oblique inverse. Cette version utilise un groupe de capturer le caractère après la barre oblique inverse et fait référence dans la chaîne de remplacement.
Noter que dans le dernier cas, nous utilisons la replaceAll méthode qui ne regex match /remplacer, plutôt que de Chaîne littérale match /remplacer. Par conséquent, nous avons besoin de sortir la barre oblique inverse dans le premier argument à deux reprises; une fois à cause d'une barre oblique inverse doit être échappé dans une Chaîne littérale, et une fois à cause d'une barre oblique inverse doit être échappé dans une regex si vous voulez vous reposer pendant un littéral caractère barre oblique inverse.
Je suis de programmation pour un blackberry système, dans le cas où qui est de toute pertinence.
Il est. Blackberry est une plate-forme J2ME, et le J2ME version de String (voir javadoc) seulement prend en charge String.replace(char, char), qui (comme nous l'avons noté ci-dessus) impossible de supprimer des caractères. Sur une plate-forme J2ME, vous devez charger les String dans un StringBuffer, et d'utiliser une boucle et StringBuffer.delete(...) ou StringBuffer.replace(...).
(C'est des trucs comme ce que fait Android plus facile à utiliser ...)
Voir Chaîne de caractères.remplacer(CharSequence, CharSequence)
J'ai juste oublié d'échapper à la backslahes afin de permettre de les mettre dans une Chaîne de caractères constante (édité). Je suppose que la Chaîne que vous recevez n'est pas déclaré de cette manière.
Ceci est source de confusion, je ne sais pas pourquoi mais "Kotibab" semble avoir "\/", ce qui j'imagine doit être remplacé par "/". Donc @Kotibab: vous voudrez peut-être essayer myUrl.remplacer("\",""); (est-il les guillemets simples ou doubles, je ne suis pas sûr, mais il doit être double, comme je l'ai mis.)
j'ai essayé une autre méthode merci pour ur aider
Je pense que vous vouliez dire
myUrl.replace("\\/","/");
oumyUrl.replace("\\","");
comme il n'y a pas une telle chose comme les caractères vide. 😉OriginalL'auteur Kevin Gaudin
@Kevin réponse contient un problème fatal. Le
String.replace(char, char)
remplace les occurrences d'un caractère par un autre personnage. Il ne permet pas de supprimer des caractères.Aussi
''
n'est pas valide Java, car il n'y a pas une telle chose comme un de caractères vide.Voici quelques solutions qui devraient fonctionnent réellement (et compiler!):
Cela supprime simplement chaque barre oblique inverse sans prendre en compte le contexte.
Cela remplace échappé obliques à la plaine des barres obliques.
Ce "de débutant" tout les séquences d'échappement dans la Chaîne, gérer correctement échappé barres obliques inverses, et non pas la suppression d'une barre oblique inverse. Cette version utilise un groupe de capturer le caractère après la barre oblique inverse et fait référence dans la chaîne de remplacement.
Noter que dans le dernier cas, nous utilisons la
replaceAll
méthode qui ne regex match /remplacer, plutôt que de Chaîne littérale match /remplacer. Par conséquent, nous avons besoin de sortir la barre oblique inverse dans le premier argument à deux reprises; une fois à cause d'une barre oblique inverse doit être échappé dans une Chaîne littérale, et une fois à cause d'une barre oblique inverse doit être échappé dans une regex si vous voulez vous reposer pendant un littéral caractère barre oblique inverse.Il est. Blackberry est une plate-forme J2ME, et le J2ME version de
String
(voir javadoc) seulement prend en chargeString.replace(char, char)
, qui (comme nous l'avons noté ci-dessus) impossible de supprimer des caractères. Sur une plate-forme J2ME, vous devez charger lesString
dans unStringBuffer
, et d'utiliser une boucle etStringBuffer.delete(...)
ouStringBuffer.replace(...)
.(C'est des trucs comme ce que fait Android plus facile à utiliser ...)
OriginalL'auteur Stephen C
Essayez ceci:
OriginalL'auteur Luis Enrique Díaz
Seulement ce qui fonctionne pour moi -
OriginalL'auteur Jyotman Singh