Python中字符串String的基本内置函数与过滤字符模块函数的基本用法


Posted in Python onMay 27, 2019

首先我们要明白在python中当字符编码为:UTF-8时,中文在字符串中的占位为3个字节,其余字符为一个字节

下面就直接介绍几种python中字符串常用的几种字符串内置函数(本文中牵扯到了模块与一些之前章节没讲过的相关知识,坑我之后会填的)

字符串切片(截取字符串):

#字符串切片 string[开始位置:结束位置:步长]
name = "巩?鹏"print(name[0:])
 #从第一个字符截取到最后一个字符
print(name[0:2]) 
#从第一个字符截取到第二个字符
print(name[:3]) 
#从第一个字符截取到第三个个字符
print(name[0:3:2])
 #从第一个字符截取到最后一个字符,每次步长为2

输出结果如下:

巩?鹏
巩?
巩?鹏
巩鹏

分割字符串:

#分割字符串 split()函数 string.splist(sep,maxsplit)
#string.splist(用于指定分隔符(如果没有参数,默认为None即空格),
分割次数(默认为-1,即没有限制))
#eg
word ="所 有 风 光 的 背 后,最 终 都 要 用 孤 独 来 偿 还"
print(word.split()) #默认为用空格进行分割
print(word.split(',')) #使用逗号(,)进行分割
print(word.split(' ',5)) #使用空格(None) 来进行分割,且只分割前五个字符

输出结果如下:

['所', '有', '风', '光', '的', '背', '后,最', '终', '都', '要', '用', '孤', '独', '来', '偿', '还']
['所 有 风 光 的 背 后', '最 终 都 要 用 孤 独 来 偿 还']
['所', '有', '风', '光', '的', '背 后,最 终 都 要 用 孤 独 来 偿 还']

可以看出,分割完字符串后,返回值为数组.

检索字符串:count()函数 以及 find()函数 index()函数 startswitch()函数 endswitch()函数

#count()方法 返回值为:int 用于检索指定字符在另外一个字符串中出现的次数,如果检索的字符不存在则会返回0.
#语法为string.count(sub[start[end]]) string:被检索的字符串 sub:要检索的字符 start:可选,开始位置 end:可选,结束位置
#eg:
demoStr = "@中国,@美国,@英国"
print(demoStr.count('@'))
print(demoStr.count('国'))

输出结果如下:

3
3

find()函数

#find()函数 返回值为:int 用于检索指定字符在另外一个字符串中第一次出现的下标,如果没有发现字符则会返回-1
#语法为string.find(sub[start[end]]) string:被检索的字符串 sub:要检索的字符 start:可选,开始位置 end:可选,结束位置
#eg:
testStr = "123123123"
print(testStr.find('1'))
print(testStr.find('3'))

输出结果如下:

0
2

index()方法 返回值为:int 与find()方法类似 只是如果index()方法没有查找到字符将会抛出异常

startswitch()方法与endswitch()方法

#startswitch()方法与endswitch()方法 返回值:boolean
 用于检索是否以指定字符串开头亦或者是结尾
#语法:string.startswitch(sum[,start[,end]]) string.endswitch(sum[,start[,end]])
#eg:
email = "g2982272986@qq.com"
print(email.startswith('g'))
print(email.endswith('.com'))

输出结果如下:

True
True

字符串转换大小写 lower()方法 upper()方法

#lower()转小写 语法: string.lower()
#eg:
demoStr_lower = "sfSLDFsdlfk"
print("原字符串为"+demoStr_lower)
print("转换后为:"+demoStr_lower.lower())
#upper()转大写 语法:string.upper()
#eg:
demoStr_upper = "sfSLDFsdlfk"
print("原字符串为"+demoStr_upper)
print("转换后为:"+demoStr_upper.upper())

输出结果:

原字符串为sfSLDFsdlfk
转换后为:sfsldfsdlfk
原字符串为sfSLDFsdlfk
转换后为:SFSLDFSDLFK

过滤字符串: re模块中的sub函数

直接上代码,看完演示就懂了

#定义一个函数来过滤字符串
#语法:#sub(repl, string[, count]) 或 re.sub(pattern, repl, string[, count]):
#第一个参数:需要屏蔽的关键词 第二个参数:过滤后替换原来关键字的字符串 第三个参数:需要过滤的字符串
#使用repl替换string中每一个匹配的子串后返回替换后的字符串。

def filterfar(string):
  """
  用于过滤字符串
  :param 需要过滤的字符串: 参数
  :return: 过滤后的字符串
  """
  # 导入模块
  import re
  #需要过滤的关键字
  string_re = r"(黑客)|(监听)"
  #过滤字符串
  sub = re.sub(string_re,"= =!",string) #第一个参数:需要屏蔽的关键词 第二个参数:过滤后替换的问题 第三个参数:需要过滤的字符串
  print(sub)
#打印输出
filterfar("我是一名黑客")
filterfar("我现在正在监听你")

输出结果:

我是一名= =!
我现在正在= =!你

可以看到黑客以及监听二字被过滤成= =!了

至于语法中为什么有一个函数是直接函数名sub调用,一个是re.sub来调用,后续讲到模块时会讲到.

总结

以上所述是小编给大家介绍的Python中字符串String的基本内置函数与过滤字符模块函数的基本用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python实现系统状态监测和故障转移实例方法
Nov 18 Python
python双向链表实现实例代码
Nov 21 Python
Python语言实现机器学习的K-近邻算法
Jun 11 Python
Python使用Pycrypto库进行RSA加密的方法详解
Jun 06 Python
Python爬虫爬取一个网页上的图片地址实例代码
Jan 16 Python
详解Python之unittest单元测试代码
Jan 24 Python
Python下调用Linux的Shell命令的方法
Jun 12 Python
浅谈python写入大量文件的问题
Nov 09 Python
余弦相似性计算及python代码实现过程解析
Sep 18 Python
Pandas 缺失数据处理的实现
Nov 04 Python
使用python实现对元素的长截图功能
Nov 14 Python
Python修改列表值问题解决方案
Mar 06 Python
python占位符输入方式实例
May 27 #Python
numpy.where() 用法详解
May 27 #Python
python numpy实现文件存取的示例代码
May 26 #Python
numpy linalg模块的具体使用方法
May 26 #Python
python flask解析json数据不完整的解决方法
May 26 #Python
如何使用pyinstaller打包32位的exe程序
May 26 #Python
让你Python到很爽的加速递归函数的装饰器
May 26 #Python
You might like
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
2015/05/12 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
php如何执行非缓冲查询API
2016/07/22 PHP
基于win2003虚拟机中apache服务器的访问
2017/08/01 PHP
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
javascript实现字符串反转的方法
2015/02/05 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
通过实例解析js简易模块加载器
2019/06/17 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
使用pdb模块调试Python程序实例
2015/06/02 Python
详解Python3注释知识点
2019/02/19 Python
Django框架视图介绍与使用详解
2019/07/18 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
python 穷举指定长度的密码例子
2020/04/02 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
2014年保管员工作总结
2014/11/18 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏