繁体   English   中英

python 字符串更改字符串中某个字符之前的字符

[英]python string change character in string before certain character

我有这个 url 并想将 px 值从 160 更改为 500。在不知道字符索引的情况下如何操作? 我试过用替换 function

https://someurl.com//img_cache/381a58s7943437_037_160px.jpg?old

我想要的是:

https://someurl.com//img_cache/381a58s7943437_037_500px.jpg?old
import re

s = 'https://someurl.com//img_cache/381a58s7943437_037_160px.jpg?old'
s = re.sub(r'_\d+px\.', '_500px.', s)
>>> s
'https://someurl.com//img_cache/381a58s7943437_037_500px.jpg?old'

此处的正则表达式\d+(?=px)查找px之前的数字,然后将它们替换为您在参数new_res中输入的任何内容。

import re

string = "https://someurl.com//img_cache/381a58s7943437_037_160px.jpg?old"
new_res = "500"
out = re.sub("\d+(?=px)", new_res, string)

print(out)

Output:

https://someurl.com//img_cache/381a58s7943437_037_500px.jpg?old

您可以使用正则表达式模式来查找一个或多个数字,并带有肯定的前瞻,断言紧随其后的是 substring "px.jpg"

import re

url = "https://someurl.com//img_cache/381a58s7943437_037_160px.jpg?old"

pattern = "\\d+(?=px.jpg)"

print(re.sub(pattern, "540", url))

Output:

https://someurl.com//img_cache/381a58s7943437_037_540px.jpg?old
>>> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM