recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment remplacer une seule barre oblique inverse par une barre oblique régulière dans js

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 ?

大家讲道理大家讲道理2782 Il y a quelques jours1021

répondre à tous(3)je répondrai

  • 学习ing

    学习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 !

    répondre
    0
  • 三叔

    三叔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"

    .

    répondre
    0
  • phpcn_u1582

    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 :

    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

    répondre
    0
  • Annulerrépondre