我用下面的公式去掉了“前后“的所有空格,但没有努力。
var test_string = '{" 1 ": "b.) some pasta salad", " 10": " a.) Yes, some bread", "11 ": " a.) eggs and toast " }'
var test_string_format = test_string.replace(/^[ '"]+|[ '"]+$|( ){2,}/g,'$1')
console.log(test_string_format)
如何使用regex获得所需的输出?{"1":"b.) some pasta salad","10":"a.) Yes, some bread","11":"a.) eggs and toast" }
5条答案
按热度按时间unhi4e5o1#
pgx2nnw82#
假设字符串内容始终是有效的JSON,您可以这样做:
我知道,这是一种“愚蠢”的解决方案,但它适用于给定的示例字符串。
代码片段解析JSON字符串,然后将结果对象转换为数组的数组,每个子数组的每个元素都是
.trim()
-med,在操作结束时,通过.Object.fromEntries()
重构对象,并通过JSON.stringify()
将其转换回JSON字符串。0sgqnhkj3#
将零个或多个空格后接引号,再将零个或多个空格后接引号替换为引号:
ruoxqz4g4#
\s
:匹配任何空白字符*
:匹配零个或多个prev字符(\s
)"
:匹配双引号字符up9lanfz5#