-1

早上好,

我是 python 的初学者,我想得到一点帮助:

我给你举个例子:

我进入了一个文件:

blabla add_signed_123_548 blabla
blabla add_unsigned_77_10 blabla

而且我要 :

blabla adder blabla
blabla adder blabla

我必须找到它们,然后我必须用加法器替换它们。我没有得到关于我给随机数的信息。但我不知道你是如何选择整个字符串的?

我想找到'add_'然后我想替换 adder_signed_123_548 是否可行?

我希望这很清楚。谢谢帮助:)

4

3 回答 3

7

这将替换所有以 开头的add_单词adder

>>> import re
>>> s = """foo bar add_signed_123_548 foo bar
... Baddest add_unsigned_77_10 additional"""
>>> print(re.sub(r"\badd_\w+", "adder", s))
foo bar adder foo bar
Baddest adder additional

\b单词边界锚确保add_仅在单词的开头匹配。

于 2012-05-16T09:16:32.050 回答
1

没有正则表达式的答案:

>>> value = "blabla add_signed_123_548 blabla"
>>> print ' '.join((word, 'adder')[word.startswith('add_')] for word in value.split())
blabla adder blabla
于 2012-05-16T09:37:44.483 回答
0

您可以获取输入字符串并将其拆分为下划线,例如'add_signed_123_548'.split('_')这将为您提供所有组件的列表['add', 'signed', '123', '548'],然后您可以根据需要处理它。

于 2012-05-16T09:17:32.090 回答