2017-04-25 2 views
2

J'ai un message de chaîne à afficher qui contient des caractères spéciaux, mais il ne les imprime pas tous. Par exemple si je donne un message comme "Le P & Une entreprise fait le travail". Il imprime uniquement "The P".codage des caractères spéciaux dans Java

public void setOutageMsg(String outageMsg) { 
     //outage msg issue 
     if(outageMsg==null){ 
      this.outageMsg = outageMsg; 
     } 
     else{ 
      outageMsg=outageMsg.replaceAll("&","&").replaceAll("&","%26"); 
      this.outageMsg = outageMsg; 
     } 
    } 

De même, j'ai besoin d'un seul code pour tous les caractères spéciaux.

+1

Quand vous dites "il n'imprime pas tous" Comment essayez-vous d'imprimer le message? Pouvez-vous s'il vous plaît fournir le code que vous utilisez pour imprimer le message? – Samuel

+0

Fournissez-vous ceci à travers une page Web? Si c'est le cas, vous devez traiter le caractère '&' _avant cette méthode, pas dedans. –

+0

u peut modifier votre code avec la valeur outageMsg –

Répondre

-1

Essayez ceci, il peut vous aider à

outageMsg=outageMsg.replaceAll("&","&").replaceAll("&","\u0026"); 

ou

outageMsg=outageMsg.replaceAll("&(?!amp;)","&").replaceAll("&","\u0026"); 
+0

merci pour la suggestion. Le code pour '&' fonctionne. Maintenant, j'ai besoin de coder pour tous les caractères spéciaux qui incluent "% * # @()!" et ne veulent pas encoder séparément chaque caractère. Toutes les suggestions? –

+0

La réponse est juste alors pourquoi j'ai été voté? de quelle manière votre chaîne peut contenir tous les caractères spéciaux ou vous devez remplacer pour rechercher "% * # @()!" seulement ? –

+0

La chaîne peut contenir tous les caractères spéciaux. –

-1

Vous pouvez écrire quelque chose le long de ces lignes

public void setOutageMsg(String outageMsg) { 
      //outage msg issue 
      if(outageMsg==null){ 
       this.outageMsg = outageMsg; 
      } 
      else{ 
       this.outageMsg = getFormattedString(outageMsg); 
      } 
     } 

    private String getFormattedString(String outageMsg){ 
      outageMsg.replaceAll("&","&"); 
      outageMsg.replaceAll("a","b"); 
      //... 
      return outageMsg; 
     }