Rechercher et remplacer toutes les Saut de ligne ou ligne de séparation des caractères avec les \n dans la Chaîne indépendante de la Plateforme
Je suis à la recherche d'un bon et solide moyen de rechercher et de remplacer toutes les newline
ou breakline
caractères à partir d'un String
indépendant de toute plate-forme OS avec \n
.
C'est ce que j'ai essayé, mais n'a pas vraiment bien.
public static String replaceNewLineChar(String str) {
try {
if (!str.isEmpty()) {
return str.replaceAll("\n\r", "\\n")
.replaceAll("\n", "\\n")
.replaceAll(System.lineSeparator(), "\\n");
}
return str;
} catch (Exception e) {
//Log this exception
return str;
}
}
Exemple:
Chaîne D'Entrée:
This is a String
and all newline chars
should be replaced in this example.
Devrait Chaîne De Sortie:
This is a String\nand all newline chars\nshould be replaced in this example.
Cependant, il a renvoyé l'entrée même de la Chaîne de retour. Comme elle l'a placé \n et en l'interprétant comme une nouvelle ligne de nouveau.
Veuillez noter que, si vous vous demandez pourquoi quelqu'un voudrait-il \n
là, c'est une exigence particulière par l'utilisateur de placer la Chaîne XML postfaces.
Pourquoi n'a t il pas bien fonctionner? Vous avez écrit prévu en sortie de chaîne, pourquoi ne pas mettre le résultat réel?
Trouvé mon erreur, il devrait ne
Trouvé mon erreur, il devrait ne
\\\\n
, bizarreOriginalL'auteur Indigo | 2013-11-11
Vous devez vous connecter pour publier un commentaire.
Si vous voulez littérale
\n
puis la suivante devrait fonctionner:Êtes-vous sûr que c'est une minute de retard? Si vous voyez d'horodatage ma réponse a été posté 5 minutes avant votre réponse 🙂
hey, vous avez raison 🙂
Merci beaucoup pour la suite du protocole non écrit de la SORTE 😛
En fait en Java 2nd argument de
String#repalceAll
également requise double échappe comme le 1er argument car il peut être utiliser de$1
,$2
etc. Donc` is entered as
\\\`OriginalL'auteur anubhava
Cela semble bien fonctionner:
Par le chemin, vous n'avez pas besoin d'attraper une exception.
OriginalL'auteur Alper
Oh, bien sûr, vous pourriez le faire avec une ligne de la regex, mais quel plaisir ce que c'est?
Le résultat
Utilisez simplement remplacer la méthode: String repl = str.replace("\r\n", "\\n");
OriginalL'auteur MadConan