美文网首页生活不易 我用python
Python 去除字符串中的空格的几种实现方式

Python 去除字符串中的空格的几种实现方式

作者: DoubleThunder | 来源:发表于2018-07-08 01:48 被阅读11次

    最近在学习 Python 基础,做到一个很简单的练习题,尽可能多的尝试了各种方法。

    1. 最简单的

    def clear_spaces(ss):
        return ss.replace(' ','')
    

    2. 遍历 str,将不为空的字第通过 『+』拼接到一个新的 str 中,最后返回

    def clear_spaces(ss):
        ret_str = ""
        for s in ss:
            if s !=' ':
                ret_str += s
        return ret_str
    

    3. 遍历 str ,并不为空的值 append 入 list ,再通过 ''.join(list) 转成 str

    def clear_spaces(ss):
        ret_val = ""
        for s in ss:
            if not s.isspace():
                ret_val.append(s)
        return ''.join(ret_val)
    

    4. 使用 str.split() 分割 str 成 list,再通过 ''.join(list) 转成 str

    def clear_spaces(ss):
        ret_val = ss.split(' ')
        return  ''.join(ret_val)
    

    5. 使用 str.split() 分割 str 成 list,再通过 ''.join(list) 转成 str

    def clear_spaces(ss):
        ret_val = ss.split(' ')
        return  ''.join(ret_val)
    

    6. 使用 列表推导式生成 list,再通过 ''.join(list) 转成 str

    def clear_spaces(ss):
        return "".join(i for i in ss if not i.isspace())
    

    7. 使用 map 函数生成 list,再通过 ''.join(list) 转成 str

    def clear_spaces(ss):
        return ''.join(map(lambda i: i if not i.isspace() else '', ss))
    

    8. 使用 filter 函数生成 list,再通过 ''.join(list) 转成 str

    def clear_spaces(ss):
        return ''.join(filter(lambda x: not x.isspace(), ss))
    

    9. 使用 reduce 函数生成 list,再通过 ''.join(list) 转成 str

    from functools import reduce
    def clear_spaces(ss):
        return reduce(lambda x, y: x + y.strip(), ss, '')
    

    10. 使用正则表达式替换 str 中所有的空格

    import re
    def clear_spaces(ss):
        pattern = r'\s+'
        return re.sub(pattern, '', ss)
    

    瞎写着玩。

    关于我:微博简书Github

    相关文章

      网友评论

        本文标题:Python 去除字符串中的空格的几种实现方式

        本文链接:https://www.haomeiwen.com/subject/lamnuftx.html