博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python API快餐教程(1) - 字符串查找API
阅读量:6255 次
发布时间:2019-06-22

本文共 1575 字,大约阅读时间需要 5 分钟。

字符串处理相关API

字符串是7种序列类型中的一种。

除了序列的操作函数,比如len()来求字符串长度之外,Python还为字符串提供丰富到可以写个编辑器的API.

查找类API

首先,下面的查找API都是为了查找位置,或者查一共有几次这样的操作。

如果只是想判断一个字符串是不是另一个字符串的子串的话,使用序列的in运算符就可以了。
例:

str1 = "hahahahaha,heiheihei"  if 'haha' in str1:    print('haha is a substring of '+str1)else:    print('haha is NOT a substring of '+str1)

数数有多少个匹配的字符串 - count函数

原型:str.count(sub[, start[, end]])

  • sub:要查找的子字符串
  • start:起始位置
  • end:结束位置

字符串的count函数可以数出来有多少次匹配,我们看个例子,有5个ha和3个hei

str1 = "hahahahaha,heiheihei"print(str1.count('ha'))print(str1.count('haha'))

输出为5和2.

haha只能匹配两次。

再加上扩展参数:

print(str1.count('ha',1))print(str1.count('ha',0,5))

不抛异常的查找 find和rfind

find函数的行为是,如果能找到,则返回在序列中的坐标,如果找不到,则返回-1. rfind是从右向左查找。我们来看例子:

print(str1.find('haha'))print(str1.rfind('haha'))

输出值为0和6.

找不到的例子:

print(str1.find('hoho'))print(str1.rfind('hi'))

输出值都是-1.

完整形式:

  • str.find(sub[, start[, end]])
  • str.rfind(sub[, start[, end]])

会抛异常的查找:index和rindex

index和rindex的功能与find和rfind基本上一致,除了在找不到时会抛出ValueError异常而不是返回-1.

例:

>>> str1 = "hehe">>> str1.index('ha')Traceback (most recent call last):  File "
", line 1, in
ValueError: substring not found

所以我们需要加try...except语句来处理之:

try:    str1.index('hoho')except ValueError:    print('hoho cannot be found in '+str1)

从头查找和从尾查找 startswith, endswith

有时候,我们希望做从头匹配或者匹配尾部。这时候就要用到startswith函数和endswith函数。例:

print(str1.startswith('ha'))print(str1.endswith('hei'))

这两个返回值均为True.

如果需要更复杂的匹配,还是需要正则表达式。与Java等语言不同,Python中的正则表达式有专门的模块,字符串的API不负责这个事情。

小结

  • 判断字符串是不是在别一个串中能找到:in
  • 判断是否左匹配:startswith
  • 判断是否右匹配:endswith
  • 数数能匹配多少次:count
  • 不抛异常的求匹配位置:find,rfind
  • 会抛异常的求匹配位置:index,rindex

转载地址:http://rpisa.baihongyu.com/

你可能感兴趣的文章
如何成为一位「不那么差」的程序员
查看>>
三个小命令 检查电脑是否被安装***
查看>>
打包时出现 Conversion to Dalvik format failed with error 1
查看>>
Linux学习日记(二)
查看>>
Windows Phone Dev Center - Getting paid
查看>>
Code Snippets
查看>>
YunTable开发日记(8)-聊聊分布式数据库的作用(转载)
查看>>
[BigData - Hadoop - YARN] YARN:下一代 Hadoop 计算平台
查看>>
Web服务器 之 FC4下安装plog快速指南(plog版本:1.01)
查看>>
php curl使用
查看>>
如何在Android和iOS设备上录制游戏?
查看>>
markdown
查看>>
项目中Gradle使用总结
查看>>
操作系统概论二
查看>>
Maven快速使用教程(三) Maven插件
查看>>
用分布式存储VSAN实现Harbor Registry的高可用方案
查看>>
我的友情链接
查看>>
CentOS5.9下编译安装MySQL5.0.16
查看>>
网络推广与网络营销的区别
查看>>
免费企业邮箱真的不需要成本吗?
查看>>