我在这个字符串上尝试使用strip()方法,但它没有提供所需的输出。
s = 'www.yahoo.com'
s = s.rstrip('.com')
print s # The desired output is 'www.yahoo' but this is showing 'www.yah'
除了解决方案,请提供当前输出的原因。
答案 0 :(得分:2)
str.strip('.com')
删除指定字符.
,c
,o
,m
,而不是.com
在开头和结尾处字符串。
要删除.com
,请使用str.replace
。
>>> s = 'www.yahoo.com'
>>> s.replace('.com', '') # Replace `.com` with empty string.
'www.yahoo'
<强>更新强>
正如Marcin Fabrykowski,David Zwicker所指出的,上述解决方案将www.company.com
变为wwwpany
。
要解决这个问题,您可以使用Marcin Fabrykowski的解决方案。或using regular expression:
>>> import re
>>> re.sub(r'\.com$', '', 'www.company.com')
'www.company'
>>> re.sub(r'\.com$', '', 'www.company.com.com')
'www.company.com'
>>> re.sub(r'(\.com)+$', '', 'www.company.com.com') # To remove multiple trailings.
'www.company'
\.com$
匹配字符串末尾的.com
($
)。 .
被转义,因为.
在正则表达式中具有特殊含义(匹配任何字符)。
注意我使用了r'raw string literal'
; r'\.com' == '\\.com'
答案 1 :(得分:1)
你可以尝试:
if x.endswith('.com'): print(x[:-4])
becouse:
x = "www.computers.com"
print(x.replace('.com',''))
wwwputers