对python数据清洗容易遇到的函数-re.sub bytes string详解

 更新时间:2019年07月23日 16:24:09   作者:Z_shsf  
今天小编就为大家分享一篇对python数据清洗容易遇到的函数-re.sub bytes string详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

re.sub

功能,比replace强大的替换函数,将正则表达式匹配上的模块替换成repl

re.sub(pattern, repl, string, count=0, flags=0)

返回最左边正则表达式限定的被repl代替的字符串,如果正则表达式没有匹配上,则字符串不做修改。

\n is converted to a single newline character,

\r is converted to a carriage return, and so forth. Unknown escapes such as \j are left alone. 如果后面跟的是数字 such as \6, 则替换第6组字符串,group 6 in the pattern. For example:

>>>
>>> re.sub(r'def\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\(\s*\):',
...  r'static PyObject*\npy_\1(void)\n{',
...  'def myfunc():')
'static PyObject*\npy_myfunc(void)\n{'

如果repl是一个函数,则会对每个不重叠的模式发生调用。 该函数采用单个匹配对象参数,并返回替换字符串。 例如:

>>>
>>> def dashrepl(matchobj):
...  if matchobj.group(0) == '-': return ' '
...  else: return '-'
>>> re.sub('-{1,2}', dashrepl, 'pro----gram-files')
'pro--gram files'
>>> re.sub(r'\sAND\s', ' & ', 'Baked Beans And Spam', flags=re.IGNORECASE)
'Baked Beans & Spam'

模板可以是一个字符串或者RE对象

count是最大替换个数,非负整数,如果省略或者取0则全文档都被匹配替换;

class bytes([source[, encoding[, errors]]])

返回一个新的数组对象,这个数组对象不能对数组元素进行修改。每个元素值范围: 0 <= x < 256。bytes函数与bytearray函数主要区别是bytes函数产生的对象的元素不能修改,而bytearray函数产生的对象的元素可以修改。因此,除了可修改的对象函数跟bytearray函数不一样之外,其它使用方法全部是相同的。最后它的参数定义方式也与bytearray函数是一样的。

实例

a = bytes("abs",'utf-8')

print(a)
b'abs'

b = bytes(1)

print(b)
b'\x00'

class bytearray([source[, encoding[, errors]]])

返回一个新的字节数组。 bytearray类是0 <= x <256的整数可变序列。它具有可变序列类型中描述的可变序列的大多数常用方法,以及字节类型具有的大多数方法,请参见字节和 Bytearray操作。

可选的源参数可用于以几种不同的方式初始化数组:

如果是字符串,还必须给出编码(和可选的错误)参数; bytearray()然后使用str.encode()将字符串转换为字节。

如果它是整数,则数组将具有该大小,并且将以空字节初始化。

如果是符合缓冲区接口的对象,则将使用对象的只读缓冲区来初始化字节数组。

如果它是一个可迭代的,它必须是0 <= x <256的整数的迭代,它们被用作数组的初始内容。

没有参数,将创建一个大小为0的数组。

bytes.strip([chars]) & bytearray.strip([chars])

返回删除指定的前导和尾部字节的序列副本。 chars参数是指定要删除的字节值集的二进制序列 - 该名称是指通常使用ASCII字符的方法。 如果省略或无,则chars参数默认为删除ASCII空格。 chars参数不是前缀或后缀; 相反,其值的所有组合都被剥离:

> b' spacious '.strip()
b'spacious'
> b'www.example.com'.strip(b'cmowz.')
b'example'

string.punctuation

在C语言环境中被视为标点符号的ASCII字符串

以上这篇对python数据清洗容易遇到的函数-re.sub bytes string详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用python创建股票的时间序列可视化分析

    使用python创建股票的时间序列可视化分析

    这篇文章主要为大家详细介绍了python创建股票的时间序列可视化分析,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • keras的get_value运行越来越慢的解决方案

    keras的get_value运行越来越慢的解决方案

    这篇文章主要介绍了keras的get_value运行越来越慢的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 对命令行模式与python交互模式介绍

    对命令行模式与python交互模式介绍

    今天小编就为大家分享一篇对命令行模式与python交互模式介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python def函数的定义、使用及参数传递实现代码

    Python def函数的定义、使用及参数传递实现代码

    Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,在Python中使用def用来定义函数,这里简单分享下, 方便学习python的朋友
    2014-08-08
  • 让你一文弄懂Pandas文本数据处理

    让你一文弄懂Pandas文本数据处理

    文本数据具有数据维度高、数据量大且语义复杂等特点,是一种较为复杂的数据类型,下面这篇文章主要给大家介绍了关于Pandas文本数据处理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • Python numpy中np.random.seed()的详细用法实例

    Python numpy中np.random.seed()的详细用法实例

    在学习人工智能时,大量的使用了np.random.seed(),利用随机数种子,使得每次生成的随机数相同,下面这篇文章主要给大家介绍了关于Python numpy中np.random.seed()的详细用法,需要的朋友可以参考下
    2022-08-08
  • python中的json数据和pyecharts模块入门示例教程

    python中的json数据和pyecharts模块入门示例教程

    JSON是一种轻量级的数据交互格式。可以按照.JSON指定的格式去组织和封装数据,这篇文章主要介绍了python中的json数据和pyecharts模块入门,需要的朋友可以参考下
    2022-12-12
  • 解决安装python3.7.4报错Can''''t connect to HTTPS URL because the SSL module is not available

    解决安装python3.7.4报错Can''''t connect to HTTPS URL because the S

    这篇文章主要介绍了解决安装python3.7.4报错Can't connect to HTTPS URL because the SSL module is not available,本文给大家简单分析了错误原因,给出了解决方法,需要的朋友可以参考下
    2019-07-07
  • python字典值排序并取出前n个key值的方法

    python字典值排序并取出前n个key值的方法

    今天小编就为大家分享一篇python字典值排序并取出前n个key值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • pandas中Series的代码实例解析

    pandas中Series的代码实例解析

    这篇文章主要介绍了pandas中Series的代码实例解析,Series序列,是一种一维的结构,类似于一维列表和ndarray中的一维数组,但是功能比他们要更为强大,Series由两部分组成:索引index和数值values,需要的朋友可以参考下
    2023-07-07

最新评论