我正在尝试从一长串字符中切断最后一个字符。我这样创建清单:
r = re.findall(re.escape(start) + "(.+?)" + re.escape(end), html_page, re.DOTALL)
正则表达式和其他所有东西都可以正常工作,只是最后一个字符是逗号,而我想删除该逗号。到目前为止,这是我尝试过的:
r = r[:-1]
del r[-1]
在两种情况下,列表都被完全删除,而不仅仅是最后一个字符。
答案 0 :(得分:2)
这是因为您的列表包含一个元素,这是一个巨大的字符串
如果您确实希望像一个巨型字符串一样,可以执行r=[r[0][:-1]]
,该操作将删除逗号,但保留其余的长字符串。
答案 1 :(得分:1)
您可以执行以下操作:
[r[0][:-1]]
保持简单! :)
答案 2 :(得分:0)
只需使用rstrip
,如果最后一个字符不是逗号,则将字符串保留下来。以r[0]
开头,以提取findall
返回的列表中的单个字符串:
r = r[0].rstrip(',')
或更普遍地将rstrip
应用于列表中的每个字符串。
r = [x.rstrip(',') for x in r]