Python-如果该字符尚不存在,如何向该字符串添加字符?

时间:2018-11-07 11:56:28

标签: python string

我只想在字符串的特定位置不存在该字符时才向该字符串添加一个字符。

我想使用Python做到这一点。字符串来自哪里都无所谓。

在我的特定情况下,字符串包含视频(iframe)的嵌入式代码。

以下是初始字符串的示例,其中没有问号:

<iframe width="1280" height="720" src="https://www.youtube.com/embed/XXX" frameborder="0" allow="accelerometer; allowfullscreen></iframe>

我想检查src URL末尾是否包含问号(?),如果没有,请添加它。最终结果将是:

<iframe width="1280" height="720" src="https://www.youtube.com/embed/XXX?" frameborder="0" allow="accelerometer; allowfullscreen></iframe>

我希望它足够清楚。如果没有,请随时询问。

谢谢!

[编辑]-我在下面回答了自己。

3 个答案:

答案 0 :(得分:2)

是的。您可以通过切片和串联来实现。

假设您有一个字符串

name = "Inut"
nname = name [0:2:1] + 'p' + name [2:4:1]
print (nname)

注意:此处切片的工作方式如下:

variable [start:stop:jump]

我希望这会起作用。

答案 1 :(得分:1)

Python字符串具有.endswith()方法,可用于检测是否为“?”存在与否。

在您的情况下,我首先要使用正则表达式来隔离src参数。

答案 2 :(得分:0)

[编辑]我最终找到了解决方法:

import re
data = '<iframe src="http://ddsdgfdf/video/87987987" something lalala="0"></iframe>'
m = re.search(r'src="(.*?)"', data)
str1 = m.group(1)
if not str1.endswith('?'):
    str1 = str1+'?'
result = re.sub(m.group(1), str1, data)
print(result)