gpt4 book ai didi

javascript - 正则表达式替换在 Node 中与在控制台中的工作方式不同

转载 作者:搜寻专家 更新时间:2023-11-01 00:37:32 25 4
gpt4 key购买 nike

我需要转义一个句子中的所有逗号。我的替换在 Node 中无法正常工作,但在 chrome 控制台中它工作正常。

有人有办法解决这个问题吗?似乎所有 Angular 色都一样

let sentence = '你好,我叫吉姆'

sentence.replace(/,/g, '\\,');

Node 术语输出:'你好\\,我叫 Jim'

最后的字符串应该是'Hello\, my name is Jim'

此外,如果有人能解释为什么这在除 Node 控制台之外的任何地方都有效,那就太好了!

非常感谢

最佳答案

解释了该行为 here :

By default, repl.REPLServer instances format output using the util.inspect() method before writing the output to the provided Writable stream (process.stdout by default).

换句话说,这就是“幕后”发生的事情:

const { inspect } = require('util')

let sentence = 'Hello, my name is Jim'

console.log( inspect( sentence.replace(/,/g, '\\,') ) );

inspect 转义字符串,所以 \ 变成 \\(并且字符串也被引号包围)。

您可以通过自己从 REPL 输出字符串来解决这个问题:

console.log( sentence.replace(/,/g, '\\,') );

关于javascript - 正则表达式替换在 Node 中与在控制台中的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46215668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com