有Python函数可删除文本中的字符吗?

时间:2019-05-25 07:49:26

标签: python

我有一个文本,其中有一个打开和关闭的括号,并且在此文本中,有一个括号是打开的,而不是关闭和打开,但是没有关闭,所以我需要删除打开且没有关闭和打开但没有关闭的括号并将其替换为“!error”。我能怎么做 ???

Text_To_Correct = """Lorem ipsum dolor sit amet, (consectetur) adipiscing elit. Nunc) fringilla metus eget) elit tristique (dignissim.
                     Mauris id nisi (et tortor fringilla tincidunt) sed sit amet elit. Aliquam feugiat velit sollicitudin, tempor velit et,
                     maximus sem. Etiam (varius tincidunt est. Proin (mattis convallis) tincidunt phasellus euismod tortor eget
                     vestibulum sollicitudin, mi lorem eleifend libero, non consequat sem velit in elit. Ut nisi felis, lacinia nec elit
                     non, lacinia rutrum urna. Quisque (vitae sagittis) diam, ut lobortis nisi. Maecenas id massa velit phasellus et
                     massa laoreet, maximus diam aliquam, ) accumsan elit."""


Remove_Close_Parenthesis= Text_To_Correct.replace(")", " !error ")

Remove_Open_Parenthesis= Remove_Close_Parenthesis.replace("(","!error")



print(Remove_Open_Parenthesis)

我发现所有括号都被删除了。

1 个答案:

答案 0 :(得分:0)

将正确的()对替换为[](任何定界符),并保留!error并撤消第一步

std::variant

对于嵌套()

r=Text_To_Correct
r= re.sub(r'\(([^()]*?)\)',r'[\1]',r)
r= re.sub(r'\(|\)',r'!error',r)
r= re.sub(r'\[([^\[\]]*?)\]',r'(\1)',r)