2024-09-29 03:35:15 发布
网友
import re my_list=['apple', 'oranges' , 'peaches'] string= ' \apples\ \cherries\ \bananas\ \peaches\ \avocado\ \oranges\ ' for x in my_list: replace=re.sub(x,' ',string) print(replace)
正确的输出:-'\cherries\\bananas\\avocado\'
这个代码哪里出了问题
import re a = ['apples', 'oranges' , 'peaches'] input_text = ' \\apples\\ \\cherries\\ \\bananas\\ \\peaches\\ \\avocado\\ \\oranges\\ ' output_text = re.sub(r'({})'.format('|'.join(['\\\\{}\\\\'.format(x) for x in a])), '', input_text)
output_text是:
output_text
\cherries\ \bananas\ \avocado\
您可以使用.replace(),这样可能更容易:
.replace()
my_list=['apples', 'oranges' , 'peaches'] # note typo in original post string= r' \apples\ \cherries\ \bananas\ \peaches\ \avocado\ \oranges\ ' for item in my_list: thestring = '\\' + item + '\\ ' string = string.replace(thestring, '') print(string)
输出:
但是,如果在最后一个反斜杠之后有可变数量的空格,则最好使用正则表达式和搜索项末尾的' ?'
' ?'
无论哪种情况,print()语句都应该在循环之外
print()
output_text
是:您可以使用
.replace()
,这样可能更容易:输出:
但是,如果在最后一个反斜杠之后有可变数量的空格,则最好使用正则表达式和搜索项末尾的
' ?'
无论哪种情况,
print()
语句都应该在循环之外相关问题 更多 >
编程相关推荐