如何从字符串中获取单词的每个实例(即字母数字)并进行更改?

时间:2017-12-06 12:37:55

标签: javascript json

我有一个字符串,如:

{
    props: {
        options: {
            type: Array
        }
    }
}

现在我想将道具更改为“道具”,将选项更改为“选项”,同样每个整个字符串可能有的单词。

我这样做是因为在原始格式中JSON.parse()抛出错误,因为它不在JSON字符串中,应该如下所示:

{
    "props": {
        "options": {
            "type": "Array"
        }
    }
}

如果您有任何建议,请不要犹豫,分享。谢谢。

4 个答案:

答案 0 :(得分:2)

str.replace(/([a-z]+)/ig, "'$1'")

这对我有用。

答案 1 :(得分:1)

使用简单的正则表达式for file in [r'C:\14\13.csv', r'C:\54\13.csv', r'C:\64\14.csv', r'C:\44\55.csv']: try: os.remove(file) except Exception as e: # catch all exceptions pass 以及JavaScript字符串原型(\w+):函数,您可以将所有密钥实例替换为单引号括起来。

以下是一个例子:



replace




并将其转换为JavaScript对象:

let str = `{
    props: {
        options: {
            type: Array
        }
    }
}`;
str = str.replace(/(\w+):/g, (match, key) => {
	return "'"+key+"':";
});
console.log(str);

答案 2 :(得分:0)

您可以使用正则表达式匹配所有匹配项并替换它们:

var str = `{
    props: {
        options: {
            type: Array
        }
    }
}`;
var jsonString = str.replace(/(\w+)/g, '"$1"');
var obj = JSON.parse(jsonString);

答案 3 :(得分:0)

尝试以下代码:

var obj = {
            props: {
                options: {
                    type: "name"
                }
            }
        };

    JSON.parse(JSON.stringify(obj));