Split a string by spaces — preserving quoted substrings — in Python

后端 未结 16 856
心在旅途
心在旅途 2020-11-22 15:05

I have a string which is like this:

this is \"a test\"

I\'m trying to write something in Python to split it up by space while ignoring spac

16条回答
  •  春和景丽
    2020-11-22 15:24

    Try this:

      def adamsplit(s):
        result = []
        inquotes = False
        for substring in s.split('"'):
          if not inquotes:
            result.extend(substring.split())
          else:
            result.append(substring)
          inquotes = not inquotes
        return result
    

    Some test strings:

    'This is "a test"' -> ['This', 'is', 'a test']
    '"This is \'a test\'"' -> ["This is 'a test'"]
    

提交回复
热议问题