我有一个字符串,它可以是以下形式:

s1 = "Hello HAHA"
s2 = '["Hello HAHA"]'
s3 = "{Hello HAHA}"

我想知道输入字符串是否像 s1、s2 或 s3。我的动机是清理此输入并将其保存为 s1 格式。

基本上我需要知道输入字符串是否为 s1 形式。

我想到的解决办法:
  • json.loads(s) 并捕获异常以检查它是否是 json
  • 正则表达式查找输入字符串的起始和结束位置是否有{|}|[|],并替换。

  • pythonic 的方法是什么?

    最佳答案

    使用 strip s.strip('[]"{}') 将删除字符串末尾不需要的字符。

    >>> unwanted = '[]"{}'
    
    >>> 'Hello HAHA'.strip(unwanted)
    'Hello HAHA'
    
    >>> '["Hello HAHA"]'.strip(unwanted)
    'Hello HAHA'
    
    >>> '{Hello HAHA}'.strip(unwanted)
    'Hello HAHA'
    

    关于python - 检查字符串是否不是反序列化的 json 或 python 中的列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35596597/

    10-11 01:55