在python中,将字符串格式化为仅在单词之间有n个空格
我使用的字符串在非空白字符之间有不同数量的空格。问题是这些字符串构成了一个类别,它们必须相等。我想将它们的格式设置为在非空白字符之间具有完全相同的空格数,例如在python中,将字符串格式化为仅在单词之间有n个空格,python,string,whitespace,adjustment,Python,String,Whitespace,Adjustment,我使用的字符串在非空白字符之间有不同数量的空格。问题是这些字符串构成了一个类别,它们必须相等。我想将它们的格式设置为在非空白字符之间具有完全相同的空格数,例如1,但如果可能的话,这可以推广到插入更多空格。开头和结尾都不应该有空格 n=1的示例: 'a b b' => 'a b c' ' a b c ' => 'a b c' 只需splitit和join按空格(es)将结果列表 从文档: 如果未指定sep或sep为None,则使用不同的拆分算法 应用:连续空格的运行被
1
,但如果可能的话,这可以推广到插入更多空格。开头和结尾都不应该有空格
n=1的示例:
'a b b' => 'a b c'
' a b c ' => 'a b c'
只需split
it和join
按空格(es)将结果列表
从文档:
如果未指定sep或sep为None,则使用不同的拆分算法
应用:连续空格的运行被视为单个空格
分隔符,并且结果在开始处不包含空字符串
如果字符串有前导或尾随空格,则为end
我们使用yourstring.strip()
for string从头到尾完成空格。您可以在字符串上使用join()
,根据需要格式化字符串。希望这对您有所帮助。最简单的方法是使用split
和join
>>> (' '*n).join(s.split())
注意:''*n
只是为了方便起见,需要在中间加入许多空格
#驱动程序值:
IN : s = 'a b b'
n = 1
OUT : 'a b b'
IN : s = ' a b c '
n = 2
OUT : 'a b c'
试试这个
def spaces_btw_characters(word, spaces):
return (' '*spaces).join(word.split())
@schwobaseggl,split
和默认参数处理它为什么?虽然这段代码可能会回答这个问题,但提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。首先,这是我在这里的第一条评论,你可能会注意到,是的,最好提供额外的上下文,但我觉得在这种情况下没有必要,因为我只有两行代码,这两行代码的作用很明显。但无论如何,谢谢你的反馈。想象一下,你不仅在回答问题负责人,你也在回答所有稍后将研究同一主题的人。
def spaces_btw_characters(word, spaces):
return (' '*spaces).join(word.split())