Weibw's World Weibw's World
首页
  • HTML
  • Python

    • Python基础知识
    • Python CookBook第三版
    • Flask
  • MySQL

    • MySQL基础知识
    • MySQL调优
    • MySQL面试题
算法
  • FineReport
  • Kettle
  • Git
  • 微信公众号文章
  • 优秀博客文章
  • 其他
收藏夹
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Weibw

一个没有梦想的咸鱼
首页
  • HTML
  • Python

    • Python基础知识
    • Python CookBook第三版
    • Flask
  • MySQL

    • MySQL基础知识
    • MySQL调优
    • MySQL面试题
算法
  • FineReport
  • Kettle
  • Git
  • 微信公众号文章
  • 优秀博客文章
  • 其他
收藏夹
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 《Flask》

  • 《Python Cookbook》第三版

    • 第一章:数据结构与算法

    • 第二章:字符串和文本

      • 使用多个界定符分割字符串
      • 字符串开头或结尾匹配
      • 用 Shell 通配符匹配字符串
      • 字符串匹配和搜索
      • 字符串搜索和替换
      • 字符串忽略大小写的搜索替换
      • 最短匹配模式
      • 多行匹配模式
      • 将 Unicode 文本标准化
      • 在正则式中使用 Unicode
      • 删除字符串中不需要的字符
        • 审查清理文本字符串
        • 字符串对齐
        • 合并拼接字符串
        • 字符串中插入变量
        • 以指定列宽格式化字符串
        • 在字符串中处理html和xml
        • 字符串令牌解析
        • 实现一个简单的递归下降分析器
        • 字节字符串上的字符串操作
      • 第三章:数字日期和时间

      • 第四章:迭代器与生成器

      • 第五章:文件与IO

      • 第六章:数据编码和处理

      • 第七章:函数

      • 第八章:类与对象

      • 第九章:元编程

      • 第十章:模块与包

      • 第十一章:网络与Web编程

      • 第十二章:并发编程

      • 第十三章:脚本编程与系统管理

      • 第十四章:测试、调试和异常

      • 第十五章:C语言扩展

    • Python基础

    • Python
    • 《Python Cookbook》第三版
    • 第二章:字符串和文本
    weibw
    2021-12-26

    删除字符串中不需要的字符

    # 问题

    你想去掉文本字符串开头,结尾或者中间不想要的字符,比如空白。

    # 解决方案

    strip() 方法能用于删除开始或结尾的字符。lstrip() 和 rstrip() 分别从左和 从右执行删除操作。默认情况下,这些方法会去除空白字符,但是你也可以指定其他字 符。比如:

    >>> # Whitespace stripping
    >>> s = ' hello world \n'
    >>> s.strip()
    'hello world'
    >>> s.lstrip()
    'hello world \n'
    >>> s.rstrip()
    ' hello world'
    >>>
    >>> # Character stripping
    >>> t = '-----hello====='
    >>> t.lstrip('-')
    'hello====='
    >>> t.strip('-=')
    'hello'
    >>>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16

    # 讨论

    这些 strip() 方法在读取和清理数据以备后续处理的时候是经常会被用到的。比 如,你可以用它们来去掉空格,引号和完成其他任务。

    但是需要注意的是去除操作不会对字符串的中间的文本产生任何影响。比如:

    >>> s = ' hello world \n'
    >>> s = s.strip()
    >>> s
    'hello world'
    >>>
    
    1
    2
    3
    4
    5

    如果你想处理中间的空格,那么你需要求助其他技术。比如使用 replace() 方法 或者是用正则表达式替换。示例如下:

    >>> s.replace(' ', '')
    'helloworld'
    >>> import re
    >>> re.sub('\s+', ' ', s)
    'hello world'
    >>>
    
    1
    2
    3
    4
    5
    6

    通常情况下你想将字符串 strip 操作和其他迭代操作相结合,比如从文件中读取 多行数据。如果是这样的话,那么生成器表达式就可以大显身手了。比如:

    with open(filename) as f:
    	lines = (line.strip() for line in f)
    	for line in lines:
    		print(line)
    
    1
    2
    3
    4

    在这里,表达式 lines = (line.strip() for line in f) 执行数据转换操作。这 种方式非常高效,因为它不需要预先读取所有数据放到一个临时的列表中去。它仅仅只 是创建一个生成器,并且每次返回行之前会先执行 strip 操作。

    对于更高阶的 strip,你可能需要使用 translate() 方法。请参阅下一节了解更多 关于字符串清理的内容。

    编辑 (opens new window)
    #Python
    上次更新: 2023/10/13, 17:39:25
    在正则式中使用 Unicode
    审查清理文本字符串

    ← 在正则式中使用 Unicode 审查清理文本字符串→

    最近更新
    01
    牛客网非技术快速入门SQL练习题
    03-08
    02
    其他日常SQL题
    03-07
    03
    用户与权限管理
    03-05
    更多文章>
    Theme by Vdoing | Copyright © 2021-2023 | Weibw | 辽ICP备18015889号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式