我正在使用在非空白字符之间具有不同数量的空格的字符串。问题在于此字符串构成一个类别,并且必须相等。我想将它们格式化为非空白字符之间的空格数完全相同,例如1
,但是如果可能的话,可以将其推广为插入更多空格。并且开头和结尾不应有空格。
n=1
的示例:
'a b b' => 'a b c'
' a b c ' => 'a b c'
答案 0 :(得分:5)
简单地split
和join
按空格将结果列表
>>> " ".join('a b b'.split())
'a b c'
>>> " ".join(' a b c '.split())
'a b c'
来自str.split(sep)
文档:
如果未指定sep或为None,则使用不同的拆分算法 应用:连续空格的运行被视为单个 分隔符,结果开头将不包含任何空字符串 或结尾(如果字符串具有前导或尾随空格)。
答案 1 :(得分:1)
最简单的方法是使用split
和join
。
>>> (' '*n).join(s.split())
注意:' '*n
只是为了方便起见,需要在它们之间加入许多空格。
#driver值:
IN : s = 'a b b'
n = 1
OUT : 'a b b'
IN : s = ' a b c '
n = 2
OUT : 'a b c'
答案 2 :(得分:0)
我们yourstring.strip()
为字符串添加了从开始到结束的空格。您可以根据需要在字符串上使用join()
来格式化字符串。希望对您有帮助。
答案 3 :(得分:0)
尝试一下。
def spaces_btw_characters(word, spaces):
return (' '*spaces).join(word.split())