Maison > Questions et réponses > le corps du texte
var a="a\a\a/b"
var reg=/\/g;
alert(a.replace(reg,"-"));
Mon code, le résultat final est aa-a/b
L'expression régulière remplace uniquement les doubles barres obliques inverses, mais pas les barres obliques inverses simples. Comment puis-je la modifier pour la remplacer ?
La raison est qu'en tant que caractère d'échappement, vous pouvez voir dans la console Chrome que "aaa/b" est finalement affiché sous la forme "aaa/b"
Comment résoudre cette situation ?
学习ing2017-06-12 09:33:16
La barre oblique inverse "" est un caractère d'échappement. Elle apparaît devant un caractère et représente un tout. Par exemple, "n" représente un caractère de nouvelle ligne. Voir le code ci-dessous :
var str = '\fedlab';
console.log(str.length); // 6
En d’autres termes, « f » compte pour un caractère.
console.log(/^\fedlab/.test('\fedlab')); // true
J'espère que cela vous aidera !
三叔2017-06-12 09:33:16
J'ai vérifié les informations et n'ai trouvé aucune solution. Il est considéré comme un caractère d'échappement, qui est l'implémentation sous-jacente. Il ne peut pas être recherché et remplacé. Les caractères doivent toujours être écrits comme "a\a\a/b"
phpcn_u15822017-06-12 09:33:16
Pour quel type de scénario souhaitez-vous l'utiliser ? Je ne sais pas si cette situation est le résultat que vous souhaitez :
Créer test.txt
,内容为aa\a/b
Créez test.js
, effectuez quelques tests et résultats sur la console du nœud ci-dessous :
//test.js
'use strict';
var fs=require('fs')
var a=fs.readFileSync(__dirname+'/test.txt').toString()
var b='a\a\\a/b'
console.log(a.length) //=>8 如果不是8,可能是加入了一些空格或换行符
console.log(a==b) //=>true
console.log(a.replace(/\/g,'-')) //=>a-a--a/b
Alors je pense que le remplaçant var a="aa\a/b"
这种字符串
的反斜杆毫无意义,你可能把字符串
和文本字符
est confus