Python:截断句子的最后一个单词?

标签 python split concatenation word text-segmentation

从文本 block 中分割最后一个单词的最佳方法是什么?

我能想到

  1. 将其拆分为一个列表(按空格)并删除最后一项,然后重新连接该列表。
  2. 使用正则表达式替换最后一个单词。

我目前正在采用方法#1,但我不知道如何连接列表...

content = content[position-1:position+249] # Content
words = string.split(content, ' ')
words = words[len[words] -1] # Cut of the last word

非常感谢任何代码示例。

最佳答案

实际上,您不需要拆分所有单词。您可以使用 rsplit 将文本按最后一个空格符号拆分为两部分.

例子:

>>> text = 'Python: Cut off the last word of a sentence?'
>>> text.rsplit(' ', 1)[0]
'Python: Cut off the last word of a'

rsplit 是“反向拆分”的简写,与常规的 split 不同,它从字符串的末尾开始工作。第二个参数是要进行的最大拆分数 - 例如1 的值将为您提供两个元素列表作为结果(因为进行了一次拆分,导致输入字符串分为两段)。

关于Python:截断句子的最后一个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6266727/

相关文章:

python - 使用 Python、PyQt、Qt Designer 和 QStackedWidget 导入页面

java - 按字符数组拆分字符串

没有字符的 Java 字符串 ("") 用逗号分割返回数组大小 1

string - Oracle sql - 存储过程 - 连接字符串中的变量

excel - 如何将 Excel 中的常规文本替换为 HTML 无序列表(用于导出为 CSV)?

python - 将 2d numpy 数组转换为列表列表

python - uwsgi + Flask + virtualenv ImportError : no module named site

python - 如何在 Paramiko 服务器中实现端口转发?

Javascript 错误 - 无法在未定义上运行 .split

vb.net - VB.NET中 "{0}"和 "&"有什么区别?