Python中字符串String去除出换行符(\n,\r)和空格的问题strip, replace

Python中strip()、lstrip()、rstrip()用法详解

Python中有三个去除头尾字符、空白符的函数,它们依次为:
strip: 用来去除头尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
lstrip:用来去除开头字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)

注意:这些函数都只会删除头和尾的字符,中间的不会删除。

用法分别为:
string.strip([chars])
string.lstrip([chars])
string.rstrip([chars])

参数chars是可选的,当chars为空,默认删除string头尾的空白符(包括\n、\r、\t、' ')
当chars不为空时,函数会被chars解成一个个的字符,然后将这些字符去掉。

它返回的是去除头尾字符(或空白符)的string副本,string本身不会发生改变。

举例说明如下:
1. 当chars为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')

 

>>> str = ' ab cd '
>>> str
' ab cd '
>>> str.strip() #删除头尾空格
'ab cd'
>>> str.lstrip() #删除开头空格
'ab cd '
>>> str.rstrip() #删除结尾空格
' ab cd'

 

2.当chars不为空时,函数会被chars解成一个个的字符,然后将这些字符去掉。

 

>>> str2 = '1a2b12c21'
>>> str2.strip('12') #删除头尾的1和2
'a2b12c'
>>> str2.lstrip('12') #删除开头的1和2
'a2b12c21'
>>> str2.rstrip('12') #删除结尾的1和2
'1a2b12c'

 

二、 replace

replace替换字符串的时候,需要重新赋值给变量,因为在python中字符串是不可变对象,因此在使用的时候我们必须重新赋值,就这么简单。

 

path = 'exhibit_schedule.json'

with open(path, 'r', encoding='utf8') as f:
    data = f.read()
    print(data)

    # 去除空格
    no_space_data = data.replace(' ', '')
    print(no_space_data)

    no_wrap_data = no_space_data.replace('\n', '')
    print(no_wrap_data)

 

你可能感兴趣的:(python)