Comment remplacer une seule barre oblique inverse par une barre oblique régulière dans js
大家讲道理
大家讲道理 2017-06-12 09:31:16
0
3
1020
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 ?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(3)
学习ing

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 !

三叔

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_u1582

Pour quel type de scénario souhaitez-vous l'utiliser ? Je ne sais pas si cette situation est le résultat que vous souhaitez :

  1. Créer test.txt,内容为aa\a/b

  2. 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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal