gpt4 book ai didi

javascript - 替换 unicode 文本中的 JS 反斜杠

转载 作者:行者123 更新时间:2023-12-03 00:50:27 27 4
gpt4 key购买 nike

我在尝试替换 JS 中某些文本中的一些 \_ 时遇到了困难。我尝试了 fromCharCodesplit 的各种组合,但似乎无法成功。

在所有这些情况下,输出与输入相同,我无法删除或替换垃圾字符。看来反斜杠下划线对于 JS 来说是不可见的。想知道这是否与字符串是 unicode 有关?

感谢建议!

let v1 = {
s: "生病以后,爸爸\_什么\_酒\_都\_不\_能喝了"
}

let v2 = { ...v1 } // copy
let v3 = { ...v2 } // copy

v2.s = v2.s.replace(/\\/g, "X")
v3.s = v3.s.split(String.fromCharCode(92)).join("Y")

console.log("v1", v1)
console.log("v2", v2)
console.log("v3", v3)

此时我可能会弄乱 sed 脚本;.;

相关检查未解决: Javascript and backslashes replace Replace back slash (\) with forward slash (/) Converting backslashes into forward slashes using javascript does not work properly?

最佳答案

当您像这样分配字符串时:

let v1 = {
s: "生病以后,爸爸\_什么\_酒\_都\_不\_能喝了"
}

所有反斜杠都将被删除,您的结果字符串将生病了,爸爸_什么_酒_都_不_能喝了

所以你也必须转义这些反斜杠:

let v1 = {
s: "生病以后,爸爸\\_什么\\_酒\\_都\\_不\\_能喝了"
}

现在要达到您的预期结果,您可以使用下一个替换正则表达式:

v1.s = v1.s.replace(/\\_/g, 'X');

关于javascript - 替换 unicode 文本中的 JS 反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53071455/

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