cari

Rumah  >  Soal Jawab  >  teks badan

js有没有办法把“\”处理成“\\”

例如把\s转换成\\s

/**
 * 下面是自己测试输出的值
 */

'\s'.length // 1
'\s'.replace(/s/, '') // ''
'\s'.replace(/\\/, '\\\\') // error


高洛峰高洛峰3025 hari yang lalu624

membalas semua(2)saya akan balas

  • 欧阳克

    欧阳克2016-11-10 11:40:18

    不知道这个是不是你想要的结果

    var s="\s";

    if(s=="\\s"){
        s="\\\\s";
    }


    balas
    0
  • 三叔

    三叔2016-11-10 11:39:58

    你自己其实已经找到答案了,不是么?在你第一句里

    '\s'.length // 1

    已经表明了内存中一共就一个字符,即s,所以在这之后无论你怎么替换都不可能替换掉\,因为他根本没有实际存在于内存中。
    这是为什么呢?
    因为``是个转义符号,换句话来说,它是个运算符。

    \n //n转义后为换行,所以返回换行\s //s的这个运算无效,所以返回s本身

    也就是说

    '\s'==='s' //true

    注意,三等号,完全一致。

    也就是说,你必须在js之前把 \s替换写(处理)成
    \\s


    balas
    0
  • Batalbalas