python - 在 Python 中将字符串拆分为数组

标签 python arrays string

我有一个具有以下结构的字符串。

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/

相关文章:

javascript - 如何使用旧数组中的数据创建一个新数组?

javascript - 来自多维数组的全日历事件数据

c - 关于C中指针和字符串的问题

ruby - 在 Ruby 中用空格替换 %20

python Gtk.PrintOperation 打印 pdf

python - 多元回归 Python

python opencv : no image

python - 在 Python 中将列添加到二维数组

string - 在golang中使用==符号和使用循环比较字符串a是否等于字符串b,哪个性能更好?

python - 如何在脚本仍在运行时使 shell 输出重定向 (>) 写入?