如何编辑字符串以在python中的特定位置添加变量?

2024-09-30 12:18:32 发布

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

我有一个变量:

a=2

我有这个字符串:

“//media.boohooman.com/i/boohooman/mzz11035_black_xl/mens-black-man-signature-symmeded-t-shirt?$product\u page\u main\u magic\u zoom$&;fmt=webp”

我想编辑此字符串,以便在“mzz11035_black_xl”之后的特定位置添加变量a,使整个字符串看起来像:

“//media.boohooman.com/i/boohooman/mzz11035_black_xl_2/mens-black-man-signature-syddled-t恤?$product\u page\u main\u magic\u zoom$&fmt=webp”

我有什么选择来实现这个目标。我知道有一些硬编码的方法,我可以在特定位置前后计数字符并进行切片,但我正在寻找一些更通用的方法,这样即使字符串有点变化也可以工作。例如

“//media.boohooman.com/i/boohooman/mzz11035_blue_xl/mens-black-man-signature-symmeded-t-shirt?$product\u page\u main\u magic\u zoom$&;fmt=webp”

“//media.boohooman.com/i/boohooman/mzz11035_blue_s/mens-black-man-signature-syddished-t-shirt?$product_page_main_magic_zoom$&;fmt=webp”

谢谢


Tags: 字符串commainmagicpageproductmediablack
2条回答

您需要使用f string或format()函数:

var = "_2"
f"//media.boohooman.com/i/boohooman/mzz11035_black_xl{var}/mens-black-man-signature-embroidered-t-shirt?$product_page_main_magic_zoom$&fmt=webp"

var = "_2"
"//media.boohooman.com/i/boohooman/mzz11035_black_xl{}/mens-black-man-signature-embroidered-t-shirt?$product_page_main_magic_zoom$&fmt=webp".format(var)

如果“mzz11035_黑色_xl”的位置正在改变,您可以执行以下操作:

var = "_2"
split_with =  "mzz11035_black_xl"
initial_string = "//media.boohooman.com/i/boohooman/mzz11035_black_xl{var}/mens-black-man-signature-embroidered-t-shirt?$product_page_main_magic_zoom$&fmt=webp"
# split the string into two parts
split_string = initial_string.split(split_with)
#  Add the parts back with any sting in between
resulting_string = split_string[0] + split_with + var + split_string[1]

但在这种情况下,您需要确保字符串中只有一个“mzz11035_black_xl”


如果字符串正在更改,但链接结构没有更改,则可以尝试使用“/”进行拆分(现在不优雅,但可以进行优化)

var = "_2/"
split_with = "/"
initial_string = "//media.boohooman.com/i/boohooman/mzz11035_blue_s/mens-black-man-signature-embroidered-t-shirt?$product_page_main_magic_zoom$&fmt=webp"
# initializing K
K = 6
# printing original string
print("The original string is : " + str(initial_string))
 
# Using split() + join()
# Split string on Kth Occurrence of Character
temp = initial_string.split(split_with)
resulting_tuple = split_with.join(temp[:K]), split_with.join(temp[K:])
# Convert to list and insert any string 
resulting_list = list(resulting_tuple)
resulting_list.insert(1,var)
# convert to string
resulting_string = ""
resulting_string = resulting_string.join(list(resulting_list))

print("Is list after Kth split is: " + resulting_string)

输出:

"Is list after Kth split is : //media.boohooman.com/i/boohooman/mzz11035_blue_s_2/mens-black-man-signature-embroidered-t-shirt?$product_page_main_magic_zoom$&fmt=webp"

您可以使用replace()函数

语法:

string.replace(old, new, count)

参数:

  • 旧的–要替换的旧子字符串
  • 新建–将替换旧子字符串的新子字符串
  • 计数–用新子字符串替换旧子字符串的次数。(可选)

返回值:

It returns a copy of the string where all occurrences of a substring are replaced with another substring.

代码示例:

a = "2"
str_to_replace = "//media.boohooman.com/i/boohooman/mzz11035_black_xl/mens-black-man-signature-embroidered-t-shirt?$product_page_main_magic_zoom$&fmt=webp"
old = "mzz11035_black_xl"
new = "mzz11035_black_xl_{}".format(a)
str_replaced = str_to_replace.replace(old, new)
print(str_replaced)

相关问题 更多 >

    热门问题