gpt4 book ai didi

javascript - 在多行字符串上使用八进制字符

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

我必须读取 .csv 文件并为每个数据条目创建一个多行字符串。每个条目都需要写入 .xml 文件。

每个条目都有一个预定义的格式

enter image description here

https://pastebin.com/RyT31gJX

这就是我目前所拥有的

const fs = require('fs'); 
const csv = require('fast-csv');

const { csvPath, delimiter } = require('./config.json');

fs.createReadStream(csvPath)
.pipe(csv({ delimiter }))
.on('data', data => {
const login = data[0];
const firstname = data[1];
const lastname = data[2];
const internal = data[3]; // 49....
const convertedInternal = internal.slice(2); // remove the 49 from the phonenumber

// create a multiline string that's gets written to a .xml file
const xmlEntry = `
sip isdn t:${login} g:Avaya (.*) +${internal} (.*) \1 from_pstn_src_setting=
isdn sip g:Avaya p:${login} (.*) \1 0${convertedInternal} \1
`;
})
.on('end',() => {
// done
});

执行代码时出现错误

SyntaxError: Octal escape sequences are not allowed in strict mode.

如何修复它?

那么所需的多行字符串格式很重要。

最佳答案

您可以使用 String.raw 来代替,它将完全按照键入的方式解释字符串(加上插值变量):

const xmlEntry = String.raw`
sip isdn t:${login} g:Avaya (.*) +${internal} (.*) \1 from_pstn_src_setting=
isdn sip g:Avaya p:${login} (.*) \1 0${convertedInternal} \1
`;

或者,当然,对反斜杠进行双转义,这样它们就不会被解释为八进制转义:

const xmlEntry = `
sip isdn t:${login} g:Avaya (.*) +${internal} (.*) \\1 from_pstn_src_setting=
isdn sip g:Avaya p:${login} (.*) \\1 0${convertedInternal} \\1
`;

关于javascript - 在多行字符串上使用八进制字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54904013/

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