按第一次出现分割

500 投票
5 回答
515508 浏览
提问于 2025-04-16 22:40

如何在字符串中找到第一个分隔符并将其拆分开来,最好的方法是什么?

举个例子:

"123mango abcd mango kiwi peach"

在第一个 mango 的地方拆分,得到:

" abcd mango kiwi peach"

如果你想在最后一个出现的地方拆分,可以查看 在Python中分割字符串并获取冒号后最后一段的值

5 个回答

38

对我来说,更好的方法是:

s.split('mango', 1)[-1]

...因为如果你要找的内容不在字符串里,你会遇到一个错误,叫做"IndexError: list index out of range"。

所以说,使用-1是没问题的,因为出现的次数已经设定为1了。

97

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。比如,有人可能会在使用某个特定的功能时,发现它没有按照预期工作。这时候,我们就需要去查找解决方案,看看其他人是怎么处理类似问题的。

在这个过程中,StackOverflow是一个非常有用的资源。它是一个问答网站,程序员们可以在这里提问和回答问题。通过搜索相关的问题,我们可以找到很多有用的建议和解决方案,帮助我们解决编程中的难题。

总之,遇到问题时,不要气馁,利用好网络资源,向其他人请教,很多时候你会发现,别人也曾经遇到过类似的情况,并且已经找到了解决办法。

>>> s = "123mango abcd mango kiwi peach"
>>> s.split("mango", 1)
['123', ' abcd mango kiwi peach']
>>> s.split("mango", 1)[1]
' abcd mango kiwi peach'
847

来自文档

str.split([sep[, maxsplit]])

这个函数会把字符串里的单词分开,并返回一个单词的列表。你可以用sep来指定分隔符,也就是用什么来切分这些单词。如果你给了maxsplit这个参数,那么最多只会切分maxsplit次(这样返回的列表最多会有maxsplit+1个元素)。

s.split('mango', 1)[1]

撰写回答