我有一个字符串
string = '(month)April(year)'
如果我只想用re.sub结束月份,我该怎么做? 到目前为止,我一直在使用
re.sub(r'(.+)', '', string)
但是我最终得到一个完全空的字符串
答案 0 :(得分:1)
您需要转义括号,否则它们将被视为正则表达式的一部分。这样的事情可以解决问题:
string = '(month)April(year)'
re.sub(r'\(\w+\)', '', string)
# April
答案 1 :(得分:0)
如果您的字符串将始终遵循该固定模式(即 (month)April(year)
,(month)May(year)
,(month)June(year)
等),那么我认为不需要import re
模块只是提取其中月份部分的名称。简单切片应该可以解决问题
string = '(month)April(year)'
name_of_the_month = string[7:-6]
print(name_of_the_month) # Output: April
编辑:
抱歉,我之前没有读过您的评论,因为括号中的单词可能不是month
和year
。切片将不起作用。您仍然可以在没有re
的情况下将其关闭,但这将是非常丑陋的方法。其他人已经对如何使用正则表达式给出了很好的答案。