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中的对象与类型
Dec 11 Python
Python ldap实现登录实例代码
Sep 30 Python
基于Python对象引用、可变性和垃圾回收详解
Aug 21 Python
python利用有道翻译实现"语言翻译器"的功能实例
Nov 14 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
使用Pytorch来拟合函数方式
Jan 14 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
Mar 18 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 Python
Python实现对word文档添加密码去除密码的示例代码
Dec 29 Python
Python实现为PDF去除水印的示例代码
Apr 03 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 checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
php获取url参数方法总结
2014/11/13 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
显示js对象所有属性和方法的函数
2009/10/16 Javascript
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
JS正则中的RegExp对象对象
2012/11/07 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
9102年webpack4搭建vue项目的方法步骤
2019/02/20 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
Python中文编码那些事
2014/06/25 Python
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
python实现的简单FTP上传下载文件实例
2015/06/30 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
美国在线眼镜店:GlassesShop
2018/11/15 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
医院后勤自我鉴定
2013/10/13 职场文书
师范生实习自我鉴定
2013/11/01 职场文书
医院实习接收函
2014/01/12 职场文书
小学捐书活动总结
2014/07/05 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
python调试工具Birdseye的使用教程
2021/05/25 Python
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis