似乎可以在python中找到子字符串函数。
假设我想输出字符串中的前100个字符,我该怎么做?
我也想安全地做,如果字符串是50个字符,它应该不会失败。
答案 0 :(得分:136)
print my_string[0:100]
答案 1 :(得分:56)
答案 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。因此,当您不提供其中之一并输入':'时,它将使用其默认值。