【发布时间】:2016-06-06 09:57:33
【问题描述】:
我有一个字符串,格式如下:
s1 = "Hello HAHA"
s2 = '["Hello HAHA"]'
s3 = "{Hello HAHA}"
我想知道输入字符串是像 s1、s2 还是 s3。我的动机是清理此输入并将其保存为s1 格式。
基本上我需要知道输入字符串是否为s1 形式。
我想到的解决方案:
-
json.loads(s)并捕获异常以检查它是否为 json - 正则表达式搜索以查看输入字符串的开始和结束位置是否有
{|}|[|],并替换它们。
最pythonic的方法是什么?
【问题讨论】:
-
恕我直言,最 Pythonic 的方法是尝试解析为 JSON 并捕获异常。 Python's exceptions are cheap and meant to be used extensively.
-
哟,但这只会解决
s3,而不是s2。这就是更大的问题是@jsfan -
更正:json.loads 也适用于 s2,从而解决问题:D