如何从字符串中删除空格并将字符串切成多个固定长度的块

时间:2015-12-13 20:47:19

标签: python

我有一个需要处理的字符串:

  1. 删除所有空格
  2. 将结果字符串分组为5
  3. 目前我有:

    new = ''
    sym = " !#$%^&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}~"""
    gap = []
    for char in text:
        if char in sym or char in gap:
            sym += char
    result = []
    

    任何人都知道怎么做?

2 个答案:

答案 0 :(得分:2)

你的问题确实令人困惑,但如果你想从字符串中删除所有空格,你可以使用替换:

name = "Foo Bar"
name = name.replace(" ","")

print(name) 
# Output: "FooBar"

答案 1 :(得分:1)

我假设你的字符串是sym和

  1. 您想删除sym
  2. 中的所有空格
  3. 制作长度为5的单词(字符串)块(列表)。
  4. 步骤中的Python代码:

    In [1]: sym = " !#$%^&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}~" #This is your input string
    
    In [2]: sym = sym.replace(" ","") #remove all "" (spaces)
    
    In [3]: sym #Lets check the output
    Out[3]: "!#$%^&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{}~"
    
    In [4]: sym_list = [ sym[i:i+5] for i in range(0, len(sym), 5)] # use range to generate iteration with increment 5 each time
    
    In [5]: sym_list #So, did we get blocks of 5 chars? hope so. 
    Out[5]: 
    ['!#$%^',
     "&'()*",
     '+,-./',
     '01234',
     '56789',
     ':;<=>',
     '?@ABC',
     'DEFGH',
     'IJKLM',
     'NOPQR',
     'STUVW',
     'XYZ[\\',
     ']^_`a',
     'bcdef',
     'ghijk',
     'lmnop',
     'qrstu',
     'vwxyz',
     '{}~']
    

    如果我的任何假设不正确,请纠正我。