Python 使用值更新字符串的最后一个字符
我有两条线:Python 使用值更新字符串的最后一个字符,python,Python,我有两条线: input = "12.34.45.362" output = "2" 我希望能够将输入中的362替换为输出中的2 因此,最终结果应为12.34.45.2。我不知道怎么做。非常感谢您的帮助。您可以使用一个简单的正则表达式: import re input_ = "12.34.45.362" output = "2" input_ = re.sub(r"\.\d+$", f".{output}", input_) print(input_) 输出: 12.34.45.2 请
input = "12.34.45.362"
output = "2"
我希望能够将输入中的362
替换为输出中的2
因此,最终结果应为
12.34.45.2
。我不知道怎么做。非常感谢您的帮助。您可以使用一个简单的正则表达式:
import re
input_ = "12.34.45.362"
output = "2"
input_ = re.sub(r"\.\d+$", f".{output}", input_)
print(input_)
输出:
12.34.45.2
请注意,我还将input
更改为input
,因此我们没有隐藏内置函数
也可以使用更简单但不太可靠的模式,完全不考虑周期,只替换结尾处的所有数字:
import re
input_ = "12.34.45.362"
output = "2"
input_ = re.sub(r"\d+$", output, input_)
print(input_)
输出:
12.34.45.2
以防您希望对任何形式的字符串执行此操作,
X.Y.Z.W
,其中X
,Y
,Z
,W
可能具有非恒定长度:
new_result=“.”.join(您的_输入.split(“.”[:-1])+”+输出
s.join
将使用每个元素之间的字符串s
将集合连接到一个字符串s.split
将字符串转换为列表
,其中每个元素位于给定字符之间
。对列表进行切片(l[:-1]
)将得到除最后一个元素之外的所有元素,最后字符串连接(如果您确定输出
为str
)将给出结果
逐步分解:
您的输入=“12.34.45.362”
您的_输入。拆分(“.”)#=[“12”、“34”、“45”、“362”]
您的输入。拆分(“.”[:-1]#=[“12”、“34”、“45”]
“.join(你的输入.分割(“.”[:-1])#=”12.34.45”
“.join(您的_输入.split(“.”[:-1])+”“+output#==”12.34.45.2”
如果您试图在lat中拆分int
只需进行正确的拆分,获取所有内容并进行字符串格式化
i = "12.34.45.362"
r = "{}.2".format(i.rsplit(".",1)[0])
输出
'12.34.45.2'
这篇文章显示了你的零努力或零研究。
后面的最后一个数字可能大小不同,所以假设-3并不总是有效的。你知道更好的方法吗?我刚刚有一个简单的问题,如果想得到输入的362
,使用slip操作会有效吗?像这样的input.rsplit(“.”,1)[-1]
@LauraSmith担心这类操作的效率几乎没有意义,但最简单的方法可能是:input.split(“.”,1)[-1]
您在上面给出的输入上测试了它吗?我试过了,但没用忘记了两个已经修改过的句号。