字符串操作

由于Python在字符串和文本操作上的便利性,使Python成为一个流行的原生数据集操作语言已经有很长时间了。字符串对象的内建方法使得大部分文本操作非常简单。对于更为复杂的模式匹配和文本操作,正则表达式可能是需要的。

1、字符串对象方法

在很多字符串处理和脚本应用中,内建的字符串方法是足够的。例如,一个逗号分隔的字符串可以使用split方法拆分成多块:

split常和strip一起使用,用于清除空格(包括换行):

这些子字符串可以使用加法与两个冒号分隔符连接在一起:

但是这并不是一个实用的通用方法。在字符串’ : : ’的join方法中传入一个列表或元组是一种更快且更加Pythonic(Python风格化)的方法:

其他方法涉及定位子字符串。使用Python的in关键字是检测子字符串的最佳方法,尽管index和find也能实现同样的功能:

相关地,count返回的是某个特定的子字符串在字符串中出现的次数:

replace将用一种模式替代另一种模式。它通常也用于传入空字符串来删除某个模式。

下表是一些Python字符串方法的列表。

2、正则表达式

正则表达式提供了一种在文本中灵活查找或匹配(通常更为复杂的)字符串模式的方法。单个表达式通常被称为regex,是根据正则表达式语言形成的字符串。Python内建的re模块是用于将正则表达式应用到字符串上的库。

re模块主要有三个主题:模式匹配、替代、拆分。当然,这三部分主题是相关联的。一个正则表达式描述了在文本中需要定位的一种模式,可以用于多种目标。

当你调用re.split(‘\s+’, text),正则表达式首先会被编译,然后正则表达式的split方法在传入文本上被调用。你可以使用re.compile自行编译,形成一个可复用的正则表达式对象:

如果想获得的是一个所有匹配正则表达式的模式的列表,你可以使用findall方法:

注意:为了在正则表达式中避免转义符\的影响,可以使用原生字符串语法,比如r’C:\x’或者用等价的’C:\x’。

match和search与findall相关性很大。findall返回的是字符串中所有的匹配项,而search返回的仅仅是第一个匹配项。match更为严格,它只在字符串的起始位置进行匹配。

在文本上使用findall会生成一个电子邮件地址的列表:

search返回的是文本中第一个匹配到的电子邮件地址。对于前面提到的正则表达式,匹配对象只能告诉我们模式在字符串中起始和结束的位置:

3、pandas中的向量化字符串函数

清理杂乱的数据集用于分析通常需要大量的字符串处理和正则化。包含字符串的列有时会含有缺失数据,使事情变得复杂:

可以使用data.map将字符串和有效的正则表达式方法(以lambda或其他函数的方式传递)应用到每个值上,但是在NA(null)值上会失败。为了解决这个问题,Series有面向数组的方法用于跳过NA值的字符串操作。这些方法通过Series的str属性进行调用,例如,我们可以通过str.contains来检查每个电子邮件地址是否含有’gmail’:

下表中有更多pandas字符串方法。

python字符串操作_Python 字符串操作 - 树懒学堂相关推荐

  1. python聚合函数_Python 数据聚合 - 树懒学堂

    数据聚合 聚合是指所有根据数组产生标量值的数据转换过程.之前的例子已经使用了一些聚合操作,包括mean.count.min和sum等. 下表展示了优化的groupby方法. 可以使用自行制定的聚合,并 ...

  2. python输出举例_python字符串格式化输出及相关操作代码举例

    字符串的格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中.在   Python 中,字符串格式化使 ...

  3. python字符串的删除操作_Python字符串操作

    Python字符串操作 访问字符串的元素 str = 'Hello World' print(str[0]) print(str[-1]) print(str[0:5]) 输出: H d Hello ...

  4. python 字符串赋值操作_python字符串操作

    字符串 简介 字符串序列用于表示和存储文本,python中字符串是不可变的,一旦声明,不能改变 这里的的改变,指的是声明变量后的真实对象.但如果第二次用到变量,赋值,系统会默认为你新生成一个变量.比如 ...

  5. python设定字符串长度_python 修改字符串长度_Python 字符串操作

    字符串常用操作 判断 变量.endswith("结尾字符"):判断结尾字符串. 变量.isalnum():判断是否是字母或数字. 变量.isalpha():判断是否是存英文字符. ...

  6. python字符串操作_python字符串操作

    6.1 处理字符串 原始字符串:在字符串开始的引号之前加上r,使它成为原始字符串."原始字符串"完全忽略所有的转义字符,打印出字符串中的所有倒斜杠. 用三重引号的多行字符串:多行字 ...

  7. python统计字符串个数_python字符串中字符出现次数(python获取字符串个数)

    原博文 2020-03-17 19:25 − 今天要说的是Python的字符串函数还是很方便的,只需要调用 count() 方法即可. 最近,我在一个网站上看到了一个自然语言处理课程.我详细解释了一些 ...

  8. python 定义字符串变量_python 字符串(1)

    字符串 操练一下字符串吧. >>> print "good good study, day day up" good good study, day day up ...

  9. python 文档操作_Python 文件操作

    一. Python 读写 创建文件 Python中对文件,文件夹(文件操作函数)的操作需要涉及到OS 模块和 shutil 模块 . 一) . OS模块 的基本操作 方法 功能 os.getcwd() ...

  10. python的数据库_python数据库操作-mysql数据库

    一:连接 1:本地连接 mysql -u用户名 -p密码 2:连接远程服务器 mysql -u用户名 -p密码 -hip地址 -P端口号 线下修改远程服务端上部署的mysql服务器 二:创建数据库 c ...

最新文章

  1. (Python)石头剪刀布游戏
  2. Hinton等人新研究:如何更好地测量神经网络表示相似性
  3. USBCopyer(听说此款软件可以悄悄偷走你U盘的小电影)
  4. webservice python开发接口_基于Python的Webservice开发(四)-泛微OA的SOAP接口
  5. 的一致性哈希_五分钟看懂一致性哈希算法
  6. 用SqlConnectionStringBuilder修改连接超时时间
  7. HTML:如何创建表格
  8. 论文主题、引用量、中国机构 华人学者,KDD 2020 关键数据抢先看
  9. 首届Filecoin矿工大会会议重点
  10. 深度学习在搜狗无线搜索广告中的应用
  11. Aseprite动画技巧
  12. 面试必问题:缓存击穿、缓存穿透、缓存雪崩,你还傻傻分不清
  13. 计算机快捷键知识点,电脑常用快捷键复习知识点.pdf
  14. NLPCC历年投稿及接收率
  15. 解锁教爸妈使用智能手机的新方法!
  16. 【pandas drop()和dropna()函数使用详解】
  17. Elasticsearch一网打通
  18. Flutter: 千位数加逗号分隔
  19. jdbc入门到精通1.1访问数据库实战
  20. 营收毛利净利均双位数增长,亚信科技掌握了什么秘诀?

热门文章

  1. android错误怎么关机,Android系统小技巧:系统崩溃了只重启部分子系统,而不是全部重启...
  2. ogg oracle 测试kafka_利用ogg实现oracle到kafka的增量数据实时同步
  3. mysql中索引创建 查看和删除语句_MySQL如何创建和删除索引?
  4. 基于JAVA+SpringBoot+Mybatis+MYSQL的体育馆开放管理系统
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的音乐播放系统
  6. jsp点击文字改变颜色_这样给图片添加上文字、诗词、歌词,超吸睛
  7. 从Windows复制文件到Linux显示乱码问题
  8. 常用的正则表达式格式
  9. String和StringBuffer的区别
  10. xpose修改手机imei码,注入广告