如何在字符串中的其他特定字符之后替换某些字符,Python?

时间:2016-03-28 20:42:33

标签: python regex

我有一个持有网址的字符串:

url = http://example.com/1234/hello/

我希望用“再见”取代“你好”

提前谢谢!

最好的问候

编辑:我很抱歉,我使用的示例有很多占位符。为了进一步澄清,“1234”和“你好”是动态的并且变化很大,所以我需要一种方法来替换第4个“/”之后的所有内容,如果你愿意的话。

到目前为止,我已经尝试了这个,但它删除了斜杠和数字:

url = re.search(r'(\A.*)0/',url,re.DOTALL|re.IGNORECASE).group(1)
url = re.search(r'(\A.*)1/',url,re.DOTALL|re.IGNORECASE).group(1)
url = re.search(r'(\A.*)2/',url,re.DOTALL|re.IGNORECASE).group(1)
url = re.search(r'(\A.*)3/',url,re.DOTALL|re.IGNORECASE).group(1)
url = re.search(r'(\A.*)4/',url,re.DOTALL|re.IGNORECASE).group(1)
url = re.search(r'(\A.*)5/',url,re.DOTALL|re.IGNORECASE).group(1)
url = re.search(r'(\A.*)6/',url,re.DOTALL|re.IGNORECASE).group(1)
url = re.search(r'(\A.*)7/',url,re.DOTALL|re.IGNORECASE).group(1)
url = re.search(r'(\A.*)8/',url,re.DOTALL|re.IGNORECASE).group(1)
url = re.search(r'(\A.*)9/',url,re.DOTALL|re.IGNORECASE).group(1)

2 个答案:

答案 0 :(得分:1)

您可以使用.join()split_url = url.split("/") split_url[4] = "goodbye" url = "/".join(split_url)

accumulate

答案 1 :(得分:0)

你在寻找这个(python 2.7)吗?

>>> import re
>>> input = ' http://example.com/1234/hello/'
>>> re.sub('((?:.*?/){4})([^/]+)(/?)', r'\1goodby\3', input)
' http://example.com/1234/goodby/'