我有一个包含2个项目的列表:
body = ['''Customer formerly known as ALEX tel # 123 . 123123 123
word word word word ...''', '12323']
我正在尝试使用正则表达式删除空格,并且只留下第1项中文本的单词。我可以删除但不通过列表。我收到错误。
for j, item in enumerate(body):
test = re.sub(r'[^A-Za-z-]+', ' ', body[0])
item[0] = test
print(item)
我希望将新列表替换为:
['''Customer formerly known as ALEX tel word word word word''', '12323']
Traceback (most recent call last) <ipython-input-107-301fe3075791> in <module>()
6 for j, item in enumerate(body):
7 test = re.sub(r'[^A-Za-z-]+', ' ', body[0])
----> 8 item[0] = test
9 print(item)
10
TypeError: 'str' object does not support item assignment
答案 0 :(得分:0)
item是一个字符串(想想"hello"
)
"hello"[2] = '5'
不是允许的操作...调试此类事情的好方法是使用print
(例如print item
发生错误之前)
解决了您收到错误的原因,但您的代码还有其他一些问题(例如,请参阅jonrsharps评论)