用多字符分隔符分割字符串

22 投票
3 回答
45469 浏览
提问于 2025-04-17 06:03

假设我有以下这个字符串:

"Hello there. My name is Fred. I am 25.5 years old."

我想把它分成句子,这样我就能得到下面这个列表:

["Hello there", "My name is Fred", "I am 25.5 years old"]

如你所见,我想在所有出现的字符串 ". " 上进行分割,而不是在任何出现的 "."" " 上进行分割。Python 的 str.split() 方法在这种情况下不适用,因为它会把字符串中的每个字符都当作单独的分隔符,而不是把整个字符串当作一个多字符的分隔符。有没有简单的方法来解决这个问题呢?

3 个回答

3

你可以在正则表达式库中使用分割函数:

import re
re.split('\. ', "Hello there. My name is Fred. I am 25.5 years old.")
4

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。比如说,当你在写代码时,可能会发现某些功能没有按照预期工作。这时候,很多人会去网上寻找解决方案,比如在StackOverflow上提问或者查看别人的回答。

在这些讨论中,大家会分享他们的经验和解决方法。有些人可能会提供代码示例,帮助你更好地理解问题所在。你可以看到不同的观点和建议,这些都能帮助你找到解决问题的办法。

总之,遇到问题时,不要害怕去寻求帮助,很多人都愿意分享他们的知识和经验。

>>> "Hello there. My name is Fred. I am 25.5 years old.".rstrip(".").split(". ")
['Hello there', 'My name is Fred', 'I am 25.5 years old']
38

对我来说没问题

>>> "Hello there. My name is Fr.ed. I am 25.5 years old.".split(". ")
['Hello there', 'My name is Fr.ed', 'I am 25.5 years old.']

撰写回答