remplacer '\n'en javascript
Je suis en train de faire remplacer en JavaScript à l'aide de:
r = "I\nam\nhere";
s = r.replace("\n"," ");
Mais au lieu de me donner
Je suis ici
que la valeur de s
,
Il retourne la même.
Où est le problème??
.replace() remplace la première occurrence de \n
Cela semble fonctionner comme prévu. jsfiddle.net/3a7Jp
N'êtes-vous pas de correspondance
double possible de méthode la plus Rapide pour remplacer toutes les occurrences d'un caractère dans une chaîne de caractères et beaucoup plus.
Double Possible de Comment puis-je le remplacer tous les sauts de ligne dans une chaîne de caractères avec des <br /> balises?
Cela semble fonctionner comme prévu. jsfiddle.net/3a7Jp
N'êtes-vous pas de correspondance
\n
et de le remplacer avec un espace? Si vous voulez vraiment il suffit de remplacer " \ "il suffit de retirer le" n " de votre fonction remplacer...double possible de méthode la plus Rapide pour remplacer toutes les occurrences d'un caractère dans une chaîne de caractères et beaucoup plus.
Double Possible de Comment puis-je le remplacer tous les sauts de ligne dans une chaîne de caractères avec des <br /> balises?
OriginalL'auteur Moin | 2012-12-28
Vous devez vous connecter pour publier un commentaire.
Comme indiqué par les autres membres de la gourmande indicateur est manquant pour votre expression régulière. L'expression correcte devrait être quelque chose comme ce que les autres ont de vous.
Je tiens à souligner la différence de ce qui se passait depuis le début.
vous avez été en utilisant les instructions suivantes
Les états sont en effet de corriger et de les remplacer une instance du caractère \n. Il utilise un algorithme différent. Lorsque vous donnez une Chaîne à remplacer, il va chercher la première occurrence et il suffit de le remplacer avec la chaîne de caractères donnée comme deuxième argument. Lors de l'utilisation des expressions régulières, nous ne sommes pas simplement à la recherche pour le personnage de match, nous pouvons écrire compliqué de correspondance syntaxe et si un match ou plusieurs sont trouvé, alors il sera remplacé. Plus sur les expressions régulières JavaScript peut être trouvé ici w3schools.
Par exemple, la méthode que vous faites pourrait être faite de façon plus générale, d'analyser la contribution de plusieurs types de fichiers. En raison des différences dans le système d'Exploitation, il est assez fréquent d'avoir des fichiers avec \n ou \r où une nouvelle ligne est nécessaire. Pour être en mesure de gérer à la fois votre code pourrait être réécrit en utilisant certaines fonctions d'expressions régulières.
Désolé pour le mélange jusqu'mondiale et l'avidité qu'il a été corrigé.
OriginalL'auteur Pablo Jomer
Le problème est que vous devez utiliser le
g
drapeau pour remplacer tous les matchs, comme, par défaut,replace()
n'agit que sur le premier match qu'il trouve:D'utiliser le
g
drapeau, cependant, vous aurez à utiliser l'expression régulière approche.D'ailleurs, lors de la déclaration de variables, veuillez utiliser
var
, sinon les variables que vous créez sont tous globales, ce qui peut conduire à des problèmes plus tard.OriginalL'auteur David Thomas
utilisation
s = r.replace(/\\n/g," ");
Obtenir une référence:
Je l'ai déjà corrigé
g en fait l'acronyme de "global"
OriginalL'auteur Grijesh Chauhan
.replace()
besoins mondiaux match drapeau:OriginalL'auteur doctorless
Vous pouvez utiliser:
parce que diferents DONC utiliser des diferents façons de définir une "nouvelle ligne", par exemple: Mac Unix Windows, après cela, vous pouvez utiliser une autre fonction de normaliser les espaces blancs.
OriginalL'auteur Daniel Antonio Nuñez Carhuayo
Ça fonctionne pour moi:
OriginalL'auteur Ivan Kalashnik