Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从字符串中获取N个字符,其中包含完整的python单词_Python - Fatal编程技术网

从字符串中获取N个字符,其中包含完整的python单词

从字符串中获取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语句查

我正在使用此代码获取长文本的前4000个字符

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"