如何在字符串中间增加一个数字?

2024-04-20 15:13:58 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我有这个字符串:

string = ("book_volume_2")

我想把这个数字增加到3,4,等等,再增加到6

我试过了

book = ("book_volume_")
book_plus = (book + str(book +1))

我有点像

book_volume_2book_volume22

但我期待着:

book_volume_3

有没有办法得到这个?你知道吗

谢谢!你知道吗


Tags: 字符串stringplus数字volumestr办法book
3条回答

您想要使用的是f-strings

for i in range(1,5):
    print(f'book_volume_{i}')

我在for循环中应用了这个逻辑来说明它是如何工作的。你知道吗

但基本上,花括号里的东西不被认为是一根弦。你知道吗

例如

如果我有函数myFunc:

def myFunc():
    return 5

然后我做print(f'book_volume_{myFunc()}')

结果将是:book_volume_5

如果您有一个字符串string = "book_volume_2",其中最后一个字符是数字,那么您可以用下一个数字替换它,如下所示:

def next_number(book):
    base = book[:-1]
    digit = int(book[-1])
    return base + str(digit + 1)

print(next_number('book_volume_2'))

如果要递增字符串的数字部分,则需要将其设置为整数。假设书名和书号总是用下划线隔开,您可以执行以下操作:

mystr = "book_volume_2"
book, sep, vol = mystr.rpartition('_')
vol = str(int(vol) + 1)
my_new_str = ''.join([book, sep, vol])

> 'book_volume_3'

相关问题 更多 >