Python重复字符串

时间:2013-06-19 05:07:38

标签: python

我在Python中尝试字符串重复。

#!/bin/python
str = 'Hello There'
print str[:5]*2

输出

  

HelloHello

所需输出

  

Hello Hello

任何人都可以指出我正确的方向。

Python版本:2.6.4

5 个答案:

答案 0 :(得分:41)

string = 'Hello There'
print ' '.join([string[:5]] * 2)

答案 1 :(得分:10)

这样做:

str = 'Hello There'
print str[:6]*2

如果没有问题,将在第二个“Hello”之后添加一个空格。另外,像rajpy一样,你不应该使用str作为变量,因为它是python中的关键字。

因为那时你得到两个单词之间的空格并把它放在你好的

之间

应该有用!

P.S您不需要#!/bin/python

答案 2 :(得分:6)

这是另一种解决方案,使用带有重复索引的字符串格式:

print "{0} {0}".format(s[:5])   # prints "Hello Hello" if s is "Hello World"

如果您提前知道要重复字符串的方式,这将很有效。如果你想在运行时改变重复次数,那么在nuront的答案中使用str.join可能会更好。

使用字符串格式化的一个优点是,您不仅仅局限于重复,尽管您可以轻松地完成。如果你愿意的话,你也可以在字符串中和周围进行其他装饰(并且不需要对副本进行相同的处理):

 print "[{0!r}] ({0:_^15})".format(s[:5])   # prints "['Hello'] (_____Hello_____)"

在方括号内打印字符串的第一个副本的repr,然后在括号中打印第二个副本,居中并用下划线填充为15个字符宽。

答案 3 :(得分:3)

试试这个:

print (str[:5] + ' ') * 2

如果要明确指定尾随空格。

在您的示例中,您可以执行以下操作:

print str[:6] * 2

请不要在程序中使用内置类型(str,int等..)作为变量,它会影响其实际含义。

答案 4 :(得分:1)

import re
str = 'Hello There'
m = re.match("(\w+\ )",str)
m.group(1) * 2