我在Python中尝试字符串重复。
#!/bin/python
str = 'Hello There'
print str[:5]*2
输出
HelloHello
所需输出
Hello Hello
任何人都可以指出我正确的方向。
Python版本:2.6.4
答案 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