【发布时间】:2014-05-23 04:17:10
【问题描述】:
我想在 Python 2.7 中增加用户提供的字符串的最后一位。
我可以这样替换第一个数字:
def increment_hostname(name):
try:
number = re.search(r'\d+', name).group()
except AttributeError:
return False
number = int(number) + 1
number = str(number)
return re.sub(r'\d+', number, name)
我可以将所有数字与 re.findall 匹配,然后增加列表中的最后一个数字,但我不确定如何替换:
number = re.findall(r'\d+', name)
number = numbers[-1]
number = int(number) + 1
number = str(number)
【问题讨论】:
-
number.replace(number[-1],str(int(number[-1])+1))怎么样 -
\d$将匹配字符串末尾的数字。 -
Barmar:由于我正在处理主机名,因此该数字通常不会位于字符串的末尾。我只想要列表中的最后一个。 sshashank:我会试试的,谢谢。
-
所以
host009应该变成...? -
@JoachimIsaksson 好点,我已经更新了答案 - 可能对 OP 有所帮助。
标签: regex python-2.7