在javascript中字面打印字符串

时间:2017-02-15 06:34:37

标签: javascript regex string unicode

我试图用JavaScript编写一个函数convertStr,当与console.log(convertStr(str))一起使用时,它会打印字符串。

输入和输出的一些示例

str = '\'"\n\\'
console.log(convertStr(str))
> '\'"\n\\'

为此,convertStr应将'\'"\n\\'转换为'\'\\\'"\\n\\\\\''

让我们考虑一个更简单的例子

str = '\''
convertStr(str)              =====> '\'\\\'\''
console.log(convertStr(str)) =====> '\''

这里的第一个挑战是要知道我们是否用'"括起str。如果不做出假设,我认为这是不可能的。

我们假设使用str包含'

另一个挑战是需要处理很多案件。

搜索网页后,我尝试了一些解决方案

尝试1:

我在JSON.stringify

中使用转义字符串引号时尝试了str
console.log(JSON.stringify('\"')) =====> "\""
console.log(JSON.stringify('\'')) =====> "'"

对于带单引号的情况,此解决方案失败。当我们使用unicode转义时,这也失败了

console.log(JSON.stringify('\u2260') ====> "≠"

尝试2:

我尝试使用str.replace(regex, replacestr)但无法找到适用于所有情况的解决方案,例如unicode或\x41\0等内容。

0 个答案:

没有答案