输出字符串中的前100个字符

时间:2010-08-15 05:54:52

标签: python

似乎可以在python中找到子字符串函数。

假设我想输出字符串中的前100个字符,我该怎么做?

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

8 个答案:

答案 0 :(得分:136)

print my_string[0:100]

答案 1 :(得分:56)

来自python tutorial

  

处理退化切片索引   优雅地:索引太大了   由字符串大小替换   上限小于下限   bound返回一个空字符串。

因此使用x[:100]是安全的。

答案 2 :(得分:25)

易:

print mystring[:100]

答案 3 :(得分:6)

为了回答Philipp的担忧(在评论中),切片也适用于unicode字符串

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

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

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

如果您的编辑器没有以utf-8保存,请替换正确的编码

答案 4 :(得分:4)

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

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

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

是的,我知道()对于%格式化运算符来说是多余的,这只是我的风格。

答案 5 :(得分:2)

如果您的字符串不够长,以前的大多数示例都会引发异常。

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

这将为您提供前100个字符。 如果你的字符串最后一个字符是空格,你可能会得到一个较短的字符串。

答案 6 :(得分:0)

使用%设置字符串格式是解决此问题的好方法。这是一些示例。

格式代码'%s''12345'转换为字符串,但它已经是字符串。

>>> '%s' % '12345'

'12345'

'%.3s'指定仅使用前三个字符。

>>> '%.3s' % '12345'

'123'

'%.7s'说使用前七个字符,但是只有五个。没问题。

>>> '%.7s' % '12345'

'12345'

'%7s'最多使用七个字符,用左侧的空格填充丢失的字符。

>>> '%7s' % '12345'

'  12345'

'%-7s'是一回事,只是在右侧填充了丢失的字符。

>>> '%-7s' % '12345'

'12345  '

'%5.3'说使用前三个字符,但用左边的空格填充总共五个字符。

>>> '%5.3s' % '12345'

'  123'

除了右边的填充以外,其他都相同。

>>> '%-5.3s' % '12345'

'123  '

也可以处理多个参数!

>>> 'do u no %-4.3sda%3.2s wae' % ('12345', 6789)

'do u no 123 da 67 wae'

如果您需要更大的灵活性,也可以使用str.format()Here is documentation

答案 7 :(得分:0)

your_string[0:100]

因此,如果您只想使用100个首字符,请使用your_string[:100]your_string[::2] 如果只想将字符放在偶数位置,请使用npm install -g @vue/cli 开始的“默认值”为0,停止为-字符串的len,步骤为1。因此,当您不提供其中之一并输入':'时,它将使用其默认值。