输出string中的前100个字符

似乎可以在Python中find一个子string函数。

说我想输出string中的前100个字符,我该怎么做?

我也想安全地做,如果string是50个字符,它不应该失败。

print my_string[0:100] 

从python教程 :

退化切片索引可以正常处理: 太大的索引被string大小replace,小于下限的上限返回空string。

所以使用x[:100]是安全的。

简单:

 print mystring[:100] 

为了回答Philipp的关注(在评论中),切片也适用于unicodestring

 >>> greek=u"αβγδεζηθικλμνξοπρςστυφχψω" >>> print len(greek) 25 >>> print greek[:10] αβγδεζηθικ 

如果您想将上述代码作为脚本运行,请将该行放在顶部

 # -*- coding: utf-8 -*- 

如果你的编辑器没有保存在utf-8中,请使用正确的编码

[first:last+1]完成数组的切片。

我倾向于使用很多的一个技巧是用椭圆表示额外的信息。 所以,如果你的领域是一百个字符,我会使用:

 if len(s) <= 100: print s else: print "%s..."%(s[:97]) 

是的,我知道()在这种情况下%格式化运算符是多余的,这只是我的风格。

如果您的string不够长,以前的大多数示例都会引发exception。

另一种方法是使用'yourstring'.ljust(100)[:100].strip()

这会给你前100个字符。 如果你的string最后一个字符是空格,你可能会得到一个较短的string。