ReplaceAll清理字符串

时间:2019-07-10 01:52:02

标签: javascript jquery regex str-replace replaceall

我必须使用几个replaceAll函数来清理数据。

JSON.parse(data.replaceAll('{\'', '{"').replaceAll('\'}', '"}').replaceAll('\',\'', '","').replaceAll('\': \'', '": "').replace(/[\n\r]+/g, ' ').replaceAll("  ", " "));

有更好的方法吗?

任何建议将不胜感激。

预先感谢

1 个答案:

答案 0 :(得分:2)

您可以清理代码并在成对的数组中定义替换项,然后使用reduce

遍历代码

const replacements = [["{'", '{"'], ["'}", '"}'], ["','", '","'], ["': '", '": "'], ['\n', ' '], ['\r', ' '], ['  ', ' ']];

const data = `{' {'{'{' {' '}'} '}'}  ','',' ',' ': ' ': '': '': '             Hello\n\r\n\n\r\n\n\r\nWorld\n\r`;

const newData = replacements.reduce((a, [token, replacement]) => a.replace(new RegExp(token, 'g'), replacement), data);

console.log(newData);

但是正如Dean Taylor所提到的,最好使用一个库来解析非标准JSON数据(如果您要这样做的话)。