如何使用搜索作为整数?Python

2024-09-30 06:24:05 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一根绳子

s = '>n269412 | AK142815 | msdfhakjfdkjfs'

我想把所有的东西都包括进去,但不包括第一个“|”的例子

所以我所做的是

^{pr2}$

但我有个错误

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: slice indices must be integers or None or have an __index__ method

我明白为什么它不起作用了。因为这个值不是一个整数,但是我有没有办法在搜索找到那个元素的地方使用这个值?在


Tags: ormost错误stdincall例子filelast
3条回答

此操作不需要正则表达式:

first, rest = s.split('|', 1)

我认为re.match()提供了一个更直接的解决方案(即匹配所有内容,而不包括第一个|):

In [7]: re.match('[^|]*', s).group(0)
Out[7]: '>n269412 '

如果没有|,则返回整个字符串。从这是否是你想要的这个问题上还不完全清楚。在

但正如其他人所说,你不需要一个正则表达式来处理这个问题。。。在

为什么还要为这个用例使用regex呢?在

s = '>n269412 | AK142815 | msdfhakjfdkjfs'
print s.partition('|')[0]

相关问题 更多 >

    热门问题