从字符串中获取N个字符,其中包含完整的python单词
我正在使用此代码获取长文本的前4000个字符从字符串中获取N个字符,其中包含完整的python单词,python,Python,我正在使用此代码获取长文本的前4000个字符 text = data[0:4000] print(text) 数据是包含长文本的变量,现在的问题是当我打印文本时,在最后,我得到半个单词,例如con,而单词应该是content 我想知道是否有办法确保单词不被截断。找到4000个字符后的第一个空格。您可以使用max来说明超过4000个字符结束的文本,但结尾没有空格 ix = max(data.find(' ', 4000), 4000) text = data[:ix] 一个简单的find语句查
text = data[0:4000]
print(text)
数据是包含长文本的变量,现在的问题是当我打印文本时,在最后,我得到半个单词,例如con,而单词应该是content
我想知道是否有办法确保单词不被截断。找到4000个字符后的第一个空格。您可以使用max来说明超过4000个字符结束的文本,但结尾没有空格
ix = max(data.find(' ', 4000), 4000)
text = data[:ix]
一个简单的find语句查找从字符4000开始的空格,就开始了这个过程
x = txt.find(' ',4000)
但是为了避免截断最后一个单词,您需要测试find语句的结果
如果起始点4000在最后一个单词内,那么它将返回-1,您将打印/返回整个文本
如果起始点在最后一个单词之前,那么它将返回下一个空格的索引,您将打印到该索引
x = txt.find(' ',4000)
if x < 0:
print (txt)
else:
print (txt[:x])
你是说你至少需要4000个字符,但如果最终单词需要更多字符,就需要更多字符?是的,我想要4000个字符+结束最后一个单词所需的字符数。如果没有尾随空格,并且你正在完成最后一个单词,那么这不起作用。有一段时间,我认为代码不起作用,由于其他错误,但现在工作正常,谢谢
txt = "four five six"
x = txt.find(' ',5)
print(txt[:x])
# returns "four five"