购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.2 删除不需要的字符

去除字符串中一些不需要的字符,是在工作中经常碰到的操作,比如去除空格。

strip()方法用于删除开始或结尾的字符。lstrip()和rstrip()方法分别从左和右执行删除操作。默认情况下,这些方法会去除空字符,也可以指定其他字符,相关代码(delete_str.py)示例如下:


test_str = ' hello world \n  '
print(f'去除前后空格:{test_str.strip()}')
print(f'去除左侧空格:{test_str.lstrip()}')
print(f'去除右侧空格:{test_str.rstrip()}')

test_t = '===== hello--world-----'
print(test_t.rstrip('-'))
print(test_t.strip('-='))

执行py文件,输出结果如下:


去除前后空格:hello world
去除左侧空格:hello world 
  
去除右侧空格: hello world
===== hello--world
hello--world

strip()方法经常会被用到,如用来去掉空格、引号。

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

如果想处理字符串中间的空格,需要求助其他方法,如使用replace()方法或者使用正则表达式,代码示例如下:


print(test_s.replace(' ', ''))
import re
print(re.sub('\s+', '', test_s))

通常情况下,我们可以将字符串strip操作和其他迭代操作相结合,如从文件中读取多行数据,此时使用生成器表达式就非常好,相关代码示例(delete_str.py)示例如下:


file_name = '/path/path'
with open(file_name) as file:
    lines = (line.strip() for line in file)
    for line in lines:
        print(line)

示例中,表达式lines=(line.strip() for line in file)执行数据转换操作。这种方式非常高效,不需要预先将所有数据读取到一个临时列表。它仅仅是创建一个生成器,并且在每次返回行之前会先执行strip操作。 4AXv51bFUiPzUgbGGtNYlIxmma4+AYQ+B2gjufz1rWbGEA6x8vu850AcFIR2eMqT

点击中间区域
呼出菜单
上一章
目录
下一章
×