gpt4 book ai didi

javascript - JavaScript 中的转义\51

转载 作者:行者123 更新时间:2023-12-03 01:40:39 25 4
gpt4 key购买 nike

我的问题如下:我有一个带有文件路径的字段: "\\random.ad.test.stuff.com\folder\level 1\51.level 2\level 3"

我想用这些信息创建一个数组

function myFunction() {
var str = "\\random.ad.test.stuff.com\folder\level 1\51. level 2\level 3";
var array = str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "_");

document.getElementById("demo").innerHTML = array;
}

问题是右括号的\51字符代码。所以结果是

"_random_ad_test_stuff_comfolder_level 1__. level 2_level 3".

如何转义 \51 并插入 _after .com ?

最佳答案

事后无法转义字符串。正如您所说,在字符串文字中, \51),就像您在字符串文字中键入 ) 一样;结果字符串没有区别:

console.log("\51" === ")"); // true

您必须转义文字中的字符:

var str = "\\\\random.ad.test.stuff.com\\folder\\level 1\\51. level 2\\level 3";
// --------^-^-------------------------^-------^--------^------------^
console.log(str);

请注意,这只是因为您使用的是字符串文字。如果您从某个地方读取该字符串,则根本不需要转义它。转义(在这个意义上)是一个字符串文字,而不是字符串。

<小时/>

您说过这来自 XML 文件,并询问您必须对该文件执行什么操作才能避免此问题。答案是:没什么。读入 XML 文件,当您从中获取这些文件名时,您将再次获得具有正确字符的字符串,转义适用于字符串文字,但 XML 不是字符串文字。

示例:

// "Read" the file
var xmlText = document.querySelector("#xml").textContent;

// Parse it
var oParser = new DOMParser();
var oDOM = oParser.parseFromString(xmlText, "application/xml");

// Use its contents; the information you'll get will be valid strings,
// no escaping needed
var entries = oDOM.querySelectorAll("entry");
console.log(entries[0].getAttribute("attr"));
console.log(entries[1].firstChild.nodeValue);
<script id="xml" type="text/xml"><root>
<entry attr="\\random.ad.test.stuff.com\folder\level 1\51. level 2\level 3" />
<entry>\\random.ad.test.stuff.com\folder\level 1\51. level 2\level 3</entry>
</root></script>

在该示例中,我展示了从属性或元素主体中获取字符串,这是将信息放入 XML 中的两种常用方法。

关于javascript - JavaScript 中的转义\51,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50856953/

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