![](/img/trans.png)
[英]How do I replace a character in a string with another character in Python?
[英]how do i replace a character in a string by range?
例如:
url = 'www.google.com/bla.bla'
我需要替換'。' 使用''在最后7個字符中==>'www.google.com/blabla'
我努力了 :
for i in range(15,22):
if url[i]=='.':
url = url.replace('.', "")
但我得到這個錯誤:
IndexError:字符串索引超出范圍
更通用的方法是拆分 URL,替換點然后加入 :
In [1]: url = 'www.google.com/bla.bla'
In [2]: s = url.split("/")
In [3]: s[1] = s[1].replace(".", "")
In [4]: "/".join(s)
Out[4]: 'www.google.com/blabla'
在一行中:
url = url[:-7] + (url[-7:].replace('.', ''))
您需要更改if
行,因為單個=
用於賦值而不是比較:
if url[i] == '.':
請注意,當使用replace()
您需要更新原始字符串( url
),因為replace()
將返回一個新字符串,而不是更新現有字符串。
但是,我認為@Patrick Haugh的一行答案是更好的解決方案,不過我會修改如下(如果你總是使用谷歌地址):
url = url[:15] + url[15:].replace('.', '')
感謝@Patrick指出我之前回答中的缺陷。
而不是使用range()
,只需使用列表理解和字符串索引:
url = 'www.google.com/bla.bla'
url = url[:15] + ''.join([c for c in url[15:] if c!= '.'])
說明。
url =
:將url =
的值重新分配給... url[:15]
:最后七個之前url
所有字符... +
:加.. ''.join([c for c in url[15:] if c!= '.'])
:字符串url
的最后七個字符, 僅當值不是a時.
。 然后將字符列表連接成一個字符串。 修改后,網址的值為: 'www.google.com/blabla'
print("Hello World") #keywords such as and or as are still highlighted
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.