Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,将字符串格式化为仅在单词之间有n个空格_Python_String_Whitespace_Adjustment - Fatal编程技术网

在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())