Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中,在字母数字字符串的末尾添加一个_Python_Python 3.x_String - Fatal编程技术网

在Python中,在字母数字字符串的末尾添加一个

在Python中,在字母数字字符串的末尾添加一个,python,python-3.x,string,Python,Python 3.x,String,我试图有效地将一个添加到字符串的末尾,如下所示: tt0000001-->tt0000002但我不知道如何实现这一点 一种复杂的方法是在开始时去掉2个t,计算非零位数(我们称之为z),将字符串设为int,加1,然后创建一个包含2个t,6-z 0,然后是int的字符串,但是因为我需要使用很多字符串(例如:tt0000001,然后tt0000002然后tt0000003等等)很多时候,如果有一种更有效的方法来实现这一点,那就太好了 有人知道怎么做吗?如果可能的话,一艘班轮就很理想了 谢谢!您所描述的

我试图有效地将一个添加到字符串的末尾,如下所示:
tt0000001
-->
tt0000002
但我不知道如何实现这一点

一种复杂的方法是在开始时去掉2个t,计算非零位数(我们称之为z),将字符串设为int,加1,然后创建一个包含2个t,6-z 0,然后是int的字符串,但是因为我需要使用很多字符串(例如:
tt0000001
,然后
tt0000002
然后
tt0000003
等等)很多时候,如果有一种更有效的方法来实现这一点,那就太好了

有人知道怎么做吗?如果可能的话,一艘班轮就很理想了


谢谢!

您所描述的基本上是正确的。不过,这并不像您建议的那样困难,因为支持从整数创建0填充字符串

只要你知道这个数字是7位数,你就可以这样做

>>> x = 'tt0000001'
>>> x = f'tt{int(x.lstrip("t"))+1:07}'
>>> x
'tt0000002'
不过,更简单的方法是只保留一个整数变量,并且每次递增整数时只根据需要(重新)构造标签

>>> x = 1
>>> x += 1
>>> f'tt{x:07}'
'tt0000002'
>>> x += 1
>>> f'tt{x:07}'
'tt0000003'

不是干的或者其他什么的,但更好的方法是重新设计,乍一看:

import re

text = tt0000001

text = '{0}{1:07d}'.format(re.sub(r'(\d.*)','',text),int(re.search(r'(\d.*)',text).group(0))+1)

不使用
f'{}'
给予你不能在其中使用反冲。

其他人也有同样的问题-看看这是否回答了你的问题?s=
“tt”+str(int(s[2:])+1.rjust(7,'0')
其中
s=“tt0000001”
很好的解决方案,我在我的问题中使用了正则表达式,但你的更好!)