我正在尝试在 Python 中重复字符串。
#!/bin/python
str = 'Hello There'
print str[:5]*2
输出
你好你好
所需输出
你好你好
谁能指出我正确的方向?
Python版本:2.6.4
string = 'Hello There'
print ' '.join([string[:5]] * 2)
如果您只想重复任何字符串
"Hello world " * 2
做这个:
str = 'Hello There'
print str[:6]*2
如果可以的话,它将在第二个“Hello”之后添加一个空格。此外,就像 rajpy 所说,您不应该将str
其用作变量,因为它是 python 中的关键字。
因为那样你就得到了两个词之间的空格并将它放在你好之间
那应该工作!
PS你不需要#!/bin/python
这是另一种解决方案,使用带有重复索引的字符串格式:
print "{0} {0}".format(s[:5]) # prints "Hello Hello" if s is "Hello World"
如果您提前确切知道要如何重复您的字符串,这将很有效。如果您希望重复次数在运行时可变,str.join
那么在 nuront 的答案中使用 as 可能会更好。
使用字符串格式的一个优点是您不仅限于重复,尽管您可以很容易地做到这一点。如果需要,您还可以在字符串中和字符串周围进行其他装饰(并且副本不需要被同等对待):
print "[{0!r}] ({0:_^15})".format(s[:5]) # prints "['Hello'] (_____Hello_____)"
这将在方括号内打印repr
字符串的第一个副本,然后在括号中打印第二个副本,居中并用下划线填充,宽度为 15 个字符。
尝试这个:
print (str[:5] + ' ') * 2
如果要显式指定尾随空格。
在您的示例中,您可以执行以下操作:
print str[:6] * 2
请不要在程序中使用内置类型(str、int 等)作为变量,它会影响其实际含义。
import re
str = 'Hello There'
m = re.match("(\w+\ )",str)
m.group(1) * 2