2015-10-19 244 views
1

我使用python 3.4如何每个连续的字符之间插入空格

我需要能够插入字符串中的空白处,有两个连续的字符(包括空格作为字符以及),并输出它的开头或结尾没有空格,除非输入字符串以空格开始或结束。

def emphasize(s): 
    s = s.replace('',' ') 
return s 

这是我到目前为止,但它返回与空格在开始和结束。

例如,如果字符串(“非常重要”)是输入,它应该返回: v e r y i m p o r t a n t

但我的函数返回(有在开始和结束的额外空间): v e r y i m p o r t a n t

任何人都可以指出我正确的方向,为什么我的代码不起作用,并建议一些更好的工作?

+0

大多数LANGUES配有微调功能,除去开头和结尾的字符,常用的空白。 – Marty

+0

将您使用的编程语言添加为标签肯定会有所帮助。 – malarres

+0

抱歉,忘了提及哪种语言。 – ABM

回答

1

join更干净,然后strip最终结果:

s = 'some string is cool ' 
' '.join(s).strip() # remove leading & trailing spaces? 
print(s) 

's o m e s t r i n g i s c o o l'

+0

我起初并没有注意到你,认为'join'是一个奇怪的解决方案,因为's'不是一个元素列表,那么将它们连接在一起又有什么意义呢?有时候在一夜之间,它会点击,并且通过可迭代*进行连接是一种干净的方式来在字符之间放置空格,并且不会在开始和结束时添加任何内容。整齐。 – TessellatingHeckler

+0

是的,我认为你的回答更好地指出了问题的症结所在,但是当我第一次读到我的直接反应就是立即避免使用'replace()',这感觉不是pythonic。但我认为坚持示例代码很重要......我们不知道还有什么事情发生。 – Symmitchry

相关问题