我有一个具有以下结构的字符串。
string = "[abcd, abc, a, b, abc]"
我想把它转换成一个数组。我一直在 Python 中使用 split 函数,但我在新数组的开头和结尾处得到了空格和括号。我尝试使用一些 if 语句来解决它,但我总是遗漏一些单词的末尾字母。
请记住,我不知道字符串中元素的长度。可以是 1、2、3 等。
最佳答案
假设您的元素永远不会结束或以空格或方括号开头,您可以将它们去掉(括号可以在拆分前去掉):
arr = [ x.strip() for x in string.strip('[]').split(',') ]
它按预期给出
print (arr)
['abcd', 'abc', 'a', 'b', 'abc']
strip
的好处在于它保留了所有内部字符。与:
string = "[ab cd, a[b]c, a, b, abc]"
你得到:['ab cd', 'a[b]c', 'a', 'b', 'abc']
关于python - 在 Python 中将字符串拆分为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44384854/