我有以下文字:
text = je vais mettre la {\i1}i{\i0}-ème équation, donc {\i1}aᵢ₁x₁+{\i0} … + {\i1}aᵢₙxₙ= bi{\i0} et ensuite, je ne change pas les autres
我想用{\i1}SOMETHING{\i0}
替换所有实例\textit{SOMETHING}
Python可以做到吗?
答案 0 :(得分:1)
我将使用正则表达式:
import re
re.sub(r'{\\i1}(.*?){\\i0}', r'\textit{\1}', text)
一个解释。您必须替换所有与精确模式匹配的子字符串(字符序列):
,带有以下文本:“ \ textit {SOMETHING}”,其中SOMETHING与上面的文本完全相同。正则表达式非常适合这种工作。使用它们,您可以搜索文本,将其捕获到变量中,进行替换等。与您的需求相关的语法如下:
.
)匹配每个字符*?
)以非贪婪的方式重复先前的模式(点)。与前一个标记结合使用意味着尽可能少的字符; ()
)将内容模式存储在特殊变量(\1
,\2
等)中,您以后可以在替换文本中引用该变量; 使用re.sub
可以用替换文本替换匹配的模式。我建议您遵循@cglacet的建议并使用regex101测试您的正则表达式:https://regex101.com/r/8vaDFt/1