了解strip()

时间:2014-10-05 14:21:27

标签: python string python-2.7

我在这个字符串上尝试使用strip()方法,但它没有提供所需的输出。

s = 'www.yahoo.com'
s = s.rstrip('.com') 
print s     # The desired output is 'www.yahoo' but this is showing 'www.yah'

除了解决方案,请提供当前输出的原因。

2 个答案:

答案 0 :(得分:2)

str.strip('.com')删除指定字符.com,而不是.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