python - 理解 strip()

标签 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'

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

最佳答案

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'原始字符串文字'r'\.com' == '\\.com'

关于python - 理解 strip(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26203469/

相关文章:

java - 实现一个算法来确定字符串是否包含所有唯一字符(大于 U+FFFF 的字符)

python - 如何屏蔽未知大小的 Python 整数的较低 'x' 位

python - 没有父类(super class)属性的类属性

python - 知道 python 脚本在由 crontab 启动时可以从 stdin 读取一些东西

字符串比较的 C++ 奇怪行为

python - 如何使用 Format 在 Python 中连接字符串?

python - 如何比较 csv 中的这些数据集? Python 2.7

python - python中的MemoryError-是否有可能进行修改以解决?

python - 如何防止嵌入式 python 退出()我的进程

java - 如何在 JSP 中突出显示字符串中的特定单词