2011-09-13 5 views
-1

La chaîne est "hi \ how \ r \ u \" et doit remplacer "\" par l'espace.Remplacement de la chaîne de caractères complexe

Chaîne stringToModify = "hi \ comment \ r \ u \";

stringToModify = stringToModify .replace ("\\", "");

System.out.println (stringToModify);

+4

Que voulez-vous dire par le caractère ""? –

+1

La chaîne vide n'est pas * un * caractère. C'est une séquence de caractères vide. On ne sait pas non plus si vous essayez de supprimer les antislashs réels, ou les retours chariot et les sauts de ligne. Si vous pouviez produire un programme court mais complet qui démontre le problème, il serait beaucoup plus facile de vous aider. –

+0

non, il est très clair à partir de la question que "\" doit être remplacé par "" c'est-à-dire séquence vide de caractères ... donc, ce dont vous avez besoin plus loin .. de toute façon retirer le -1 de la question ... –

Répondre

3
yourString = yourString.replace("\\", ""); 


EDIT:

String s = "hi\\how \\ r\\ u\\"; // which is actually "hi\how \ r\ u\" 
s = s.replace("\\", ""); 
System.out.println(s); // prints "hihow r u" 
+1

s'il vous plaît d'abord exécuter votre auto puis donner la réponse .... parce que je vérifie déjà ces choses .... –

+0

@kamal voir la mise à jour, c'est ce que vous cherchez? –

+5

@kamal Personne n'est là pour faire du codage pour vous il vient de donner l'idée comment accomplir vous devez l'essayer par vous-même – ingsaurabh

0

Vous avez besoin des barres obliques supplémentaires si vous souhaitez définir la chaîne en tapant dans votre script.

var str="hi\\how \\ r\\ u\\"; 
// This will basicly become "hi\how \ r\ u\" in memory 

Lorsque je tente ce script

var str="hi\how \ r\ u\\";       
document.writeln(str+"</br>"); 
document.writeln(str.replace("\\", "")+"</br>"); 
document.write(str.split("\\").join("")+"</br>"); 

var str="hi\\how \\ r\\ u\\"; 
document.writeln(str+"</br>"); 
document.writeln(str.replace("\\", "")+"</br>"); 
document.write(str.split("\\").join("")+"</br>"); 

Alors que je reçois cette sortie. C'est étrange à comprendre.

  • hihow ru \ < - tous les barres obliques simples est ignoré
  • hihow ru < - premier mach de "\" était à la fin
  • hihow ru < - split/join fera la même chose avec la barre oblique
  • salut \ comment \ r \ u \ < - c'est la str réelle que vous voulez travailler avec
  • hihow \ r \ u \ < - premier mach de "\" est après salut
  • salut < - diviser/joindre supprimera toutes les barres obliques

Il semble que la séparation et l'assemblage fonctionnent mieux dans ce cas. Sinon, vous devez mettre la fonction de remplacement dans une boucle. Mais avant tout, vous devez définir la chaîne avec laquelle vous voulez travailler correctement.

var str="hi\\how \\ r\\ u\\"; 
str.split("\\").join("") 
+0

s'il vous plaît d'abord l'exécuter puis après avoir répondu ... et le code que vous mentionnez n'est pas acceptable en java. Merci pour votre réponse. –

+0

Cest juste .. Vous ne pouvez pas avoir "\" à la fin si vous définissez comme ci-dessus .. Donc, vous pouvez le supprimer manuellement .. même cela fonctionnera alors var str = "salut \ comment \ r \ u" ; document.write (str); – Aziz

+0

Vous avez besoin de barres obliques supplémentaires si vous souhaitez définir la chaîne dans votre script. Il semble que la fonction replace remplace uniquement la première correspondance. Et quand vous utilisez des barres obliques simples dans une définition de chaîne, elles sont ignorées dans Java à moins que vous n'utilisiez \ n, \ t, \ r etc ... – Aziz

3
yourString = yourString.replace("\\", "\"\"");