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 fileinput模块使用实例
Jun 03 Python
python3 实现的人人影视网站自动签到
Jun 19 Python
python3基于OpenCV实现证件照背景替换
Jul 18 Python
神经网络相关之基础概念的讲解
Dec 29 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
Jan 26 Python
python函数的万能参数传参详解
Jul 26 Python
python numpy之np.random的随机数函数使用介绍
Oct 06 Python
关于多元线性回归分析——Python&SPSS
Feb 24 Python
Python退出时强制运行一段代码的实现方法
Apr 29 Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 Python
使用tkinter实现三子棋游戏
Feb 25 Python
python 管理系统实现mysql交互的示例代码
Dec 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用数组返回无限分类的列表数据的代码
2010/08/08 PHP
PHP与SQL注入攻击防范小技巧
2011/09/16 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
php实现Session存储到Redis
2015/11/11 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
2019/12/19 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
粗略分析Python中的内存泄漏
2015/04/23 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
教育局长自荐信范文
2013/12/22 职场文书
优秀教师工作感言
2014/02/16 职场文书
医疗纠纷协议书
2014/04/16 职场文书
国旗下的演讲稿
2014/05/08 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
千手观音观后感
2015/06/03 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android