【发布时间】:2015-05-30 09:11:39
【问题描述】:
import re
foo='''"a","b","c","aaa":"sdlfjlasjdfljas"'''
list=re.split('\:,\';\"',foo)
i = 0
for word in list:
newWord = word
newWord.split(':')
我目前正在尝试使用逗号、冒号和括号等不同的参数将字符串 foo 分开......等等。
我目前能够将字符串拆分一次,从而将字符串 "aaa":"alsjflajlsdjf" 全部放在一个索引中。我希望能够用冒号将其拆分,并在 if 语句中使用 word.find 找到 aaa 以获取下一个字符串并将其打印出来。所以它会打印出乱码。
我已成功使用 for 循环找到 aaa 部分,但我无法打印出乱码。提前感谢您的帮助。
【问题讨论】:
-
您的代码的问题是
split()不会“就地”修改字符串(什么都不会:字符串在 python 中是“不可变的”)。您需要将结果保存在新变量中,例如newWord = word.split(':')。然后您就可以继续编写代码了。 -
附言。
list是 python 中列表类型的名称。不要将它用作变量名,它是合法的,但它会比你想象的更快地咬你。 -
如果你只想要
aaa之后的第一个词,为什么要拆分?.find也是一个 str 操作,那么拆分和使用 find 究竟如何让您找到乱码? -
如何从 sdlfjlasjdfljas 获得 alsjflajlsdjf?
标签: python list parsing text split