我如何在字符串 Python 中获得 a 之前的所有内容

新手上路,请多包涵

我正在寻找一种在 a : 之前获取字符串中所有字母的方法,但我不知道从哪里开始。我会使用正则表达式吗?如果有怎么办?

 string = "Username: How are you today?"

有人可以告诉我一个我能做什么的例子吗?

原文由 0Cool 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 592
2 个回答

只需使用 split 功能。它返回一个列表,因此您可以保留第一个元素:

 >>> s1.split(':')
['Username', ' How are you today?']
>>> s1.split(':')[0]
'Username'

原文由 fredtantini 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 index

 >>> string = "Username: How are you today?"
>>> string[:string.index(":")]
'Username'

该索引将为您提供 : 在字符串中的位置,然后您可以对其进行切片。

如果你想使用正则表达式:

 >>> import re
>>> re.match("(.*?):",string).group()
'Username'

match 从字符串的开头匹配。

你也可以使用 itertools.takewhile

 >>> import itertools
>>> "".join(itertools.takewhile(lambda x: x!=":", string))
'Username'

原文由 Hackaholic 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题