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通过pil模块将raw图片转换成png图片的方法
Mar 16 Python
Python3读取UTF-8文件及统计文件行数的方法
May 22 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
Jul 01 Python
Pyhton中单行和多行注释的使用方法及规范
Oct 11 Python
浅析python的Lambda表达式
Feb 27 Python
Django REST framework内置路由用法
Jul 26 Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
Python实现生成密码字典的方法示例
Sep 02 Python
导入tensorflow时报错:cannot import name 'abs'的解决
Oct 10 Python
python实现滑雪游戏
Feb 22 Python
python爬虫scrapy图书分类实例讲解
Nov 23 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 字符串操作入门教程
2006/12/06 PHP
php限制ip地址范围的方法
2015/03/31 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
如何实现动态删除javascript函数
2007/05/27 Javascript
JavaScript 对象、函数和继承
2009/07/07 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
JavaScript调用客户端Java程序的方法
2015/07/27 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
Java Varargs 可变参数用法详解
2020/01/28 Javascript
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
Python中使用不同编码读写txt文件详解
2015/05/28 Python
Python3实现定时任务的四种方式
2019/06/03 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
python中可以声明变量类型吗
2020/06/18 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
python中实现栈的三种方法
2020/12/19 Python
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
校园报刊亭的创业计划书
2014/01/02 职场文书
《鞋匠的儿子》教学反思
2014/03/02 职场文书
风险评估实施方案
2014/03/09 职场文书
水毁工程实施方案
2014/04/01 职场文书
教师节感想
2015/08/11 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android