我正在尝试找到一种方法来替换字符串中的单个斜杠字符“ /”(“ https://”中的斜杠除外或“ http://”中的斜杠除外)
a="https://example.com/example/page/"
例如,我想用'%'代替'/',而不是'https://'中的斜杠字符或'http://'中的斜杠字符,以便最后得到类似以下的结果:< / p>
a="https://example.com%example%page%"
我尝试过
re.sub('(?<!:\/)\/', '%', a)
在python中,但这是不正确的。
答案 0 :(得分:2)
您可以使用
re.sub(r'(https?|ftps?)://|/', lambda x: x.group(0) if x.group(1) else '%', s)
详细信息
(https?|ftps?)://
-匹配并捕获到组1 http
/ https
/ ftp
/ ftps
中(如果需要,可添加更多),然后匹配{{1 }} ://
-或|
-在任何其他情况下匹配/
如果第1组匹配,则将整个匹配回粘贴,否则,/
将替换为/
。
请参见Python demo:
%