博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
总结:44个Python3字符串内置方法大全及示例
阅读量:6280 次
发布时间:2019-06-22

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

概述

Python中字符串是作为一种强大的处理工具集的存在,而不是类C中使用的那么难受。因为Python提供了一系列字符串操作的方法,从大小写转换、切片操作到查找等等应有尽有,几乎满足日常的使用场景,当然如果满足不了需求还可以得助于更加强大的第三方库比如stringre等。下面就介绍了Python3中44个字符串内置方法的基本概述及简单示例。

44个字符串内置方法概述

方法 描述
capitalize 返回S的大写版本,即创建第一个字符,为大写字母,其他为小写字母
casefold 返回全小写
center 使字符串产生居中效果,默认填充为空格,也可指定填充单个字符
count 返回子字符串sub的非重叠出现次数, string S [start:end]。 可选参数start和end为切片表示法。即在切片范围内统计指定字符串的出现次数,如果不指定即在整个字符串内统计指定字符串出现次数
encode 字符串编码转换,默认为encoding='utf-8'
endswith 测试字符串结尾是否为指定字符串,也可指定字符串结尾
expandtabs 将字符串中的tab制表符转换为空格,一个字表符默认为8个空格
find 在字符串中查找指定字符,找到则返回最小的索引,没有则返回-1,也可以加上分片指定字符串中索引范围
format 字符串格式化的一种方法,将需要格式化的地方填充{}
format_map 字符串格式化的一种方法,接收的参数为字典,通过映射的方式格式化
index 寻找字符串中出现指定的第一个索引
isalnum 字符串中是否全部为数字字符,并至少有一个字符,若是则返回Ttue,否则返回False
isalpha 字符串中是否全部为英文字母,并至少有一个字符,若是则返回True,否则返回False
isdecimal 判断字符串是否只有十进制字符,若是则返回True,否则返回False
isdigit 判断字符串中是否全部为数字,并至少有一个字符,若是则返回True,否则返回False
isidentifier 判断字符串是否为有效定义
islower 判断字符串是否全部为小写字符,若是则返回True,否则返回False
isnumeric 判断字符串中是否全部为数字,若是则返回True,否则返回False
isprintable 判断字符串中所有字符是否都是可打印字符(in repr())或字符串为空。
isspace 判断字符串是否全部为空格,若是则返回True,否则返回False
istitle 判断字符串是否为一个标题字符串,即每个单词首写字母都为大写,若是则返回True,否则返回False
isupper 判断字符串中是否全部为大写字符,若是则返回True,否则返回False
join 将序列中的元素以指定的字符拼接成新的字符串
ljust 使字符串左对齐,当len(s)<width时,多余的字符默认为空,也可以指定填充单个字符
lower 将字符串全部转为小写字符
lstrip 删除字符串最前面的空格,回车,制表符等
maketrans 返回一个用translate的转换表,示例中steabc为映射关系,每个字符相对应(s->a,t->b,e->c),outtab用于替换intab出现在需要处理的字符串中,第三个参数为需要删除的字符
partition 搜索指定分隔符,并返回第一个分隔符之前的部分,第一个分隔符本身,和第一个分隔符之后的部分
replace 字符串替换,replace(self, old, new, count=None),接受参数依次是需要替换的字符串,替换后的字符串,和可选参数替换次数,默认为全部替换
rfind 在字符串中查找指定字符,找到则返回最大的索引,没有则返回-1,也可以加上分片指定字符串中索引范围
rindex 在字符串中查找指定字符,找到则返回最大的索引,没有则返回-1,也可以加上分片指定字符串中索引范围
rjust 使字符串右对齐,当len(s)<width时,多余的字符默认为空,也可以指定填充单个字符
rpartition 搜索指定分隔符,并返回最后一个分隔符之前的部分,最后一个分隔符本身,和最后一个分隔符之后的部分
rsplit 从右向左寻找,以某个元素为中心将左右分割成两个元素并放入列表中,maxsplit参数默认为-1,表示根据指定分割字符全部分割,maxsplit=1即根据指定分割字符仅分割一次,使用效果和rpartition类似
rstrip 删除字符串最后面的空格,回车,制表符等
split 从左向右寻找,以某个元素为中心将左右分割成两个元素并放入列表中,maxsplit参数默认为-1,表示根据指定分割字符全部分割,maxsplit=1即根据指定分割字符仅分割一次,使用效果和partition类似
splitlines 以换行符('\r', '\r\n', \n')分割为列表,参数keepends默认False,不包含换行符,如果为True,则保留换行符
startswith 判断字符串开头是否为指定字符串,若是则返回True,否则返回False
strip 删除字符串左右两边的空格,回车,制表符等
swapcase 将字符串中大小写字符翻转为小大写字符
title 将字符串转为标题字符串,即每个单词首字母大写
translate 根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。table表是通过maketrans方法转换而来
upper 将字符串全部转为小写字符
zfill 当len(s)<width时,从左边开始用0填充

44种方法使用示例

# 示例s = 'str_test'print('s.capitalize'.center(40, '-'))# 返回S的大写版本,即创建第一个字符,为大写字母,其他为小写字母s_capitalize = s.capitalize()print(s_capitalize)print('s.casefold'.center(40, '-'))# 返回全小写s_casefold = s.casefold()print(s_casefold)print('s.center'.center(40, '-'))# 使字符串产生居中效果,默认填充为空格,也可指定填充单个字符s_center = s.center(20, '-')print(s_center)print('s.count'.center(40, '-'))# 返回子字符串sub的非重叠出现次数, string S [start:end]。 可选参数start和end为切片表示法。即在切片范围内统计指定字符串的出现次数,如果不指定即在整个字符串内统计指定字符串出现次数s_count = s.count('es', 0, 7)print(s_count)print('s.encode'.center(40, '-'))# 字符串编码转换,默认为`encoding='utf-8'`s_encode = s.encode('utf-8', 'strict')print(s_encode)print('s.endswith'.center(40, '-'))# 测试字符串结尾是否为指定字符串,也可指定字符串结尾s_endswith = s.endswith('st', 1, 8)print(s_endswith)print('s.expandtabs'.center(40, '-'))# 将字符串中的tab制表符转换为空格,一个字表符默认为8个空格s_tab = 'ss\tr's_tab_expandtabs = s_tab.expandtabs(tabsize=8)print(s_tab_expandtabs)print('s.find'.center(40, '-'))# 在字符串中查找指定字符,找到则返回最小的索引,没有则返回-1,也可以加上分片指定字符串中索引范围s_find = s.find('test', 0, 8)print(s_find)print('s.format'.center(40, '-'))# 字符串格式化的一种方法,将需要格式化的地方填充`{}`s_format = '{} string in python'.format('Powerful')print(s_format)print('s.format_map'.center(40, '-'))# 字符串格式化的一种方法,接收的参数为字典,通过映射的方式格式化a = {
'x': 'Powerful'}s_format_map = '{x} string in python'.format_map(a)print(s_format_map)print('s.index'.center(40, '-'))# 寻找字符串中出现指定的第一个索引s_index = s.index('test')print(s_index)print('s.isalnum'.center(40, '-'))# 字符串中是否全部为数字字符,并至少有一个字符,若是则返回Ttue,否则返回Falses_num = '233's_num_isalnum = s_num.isalnum()print(s_num_isalnum)print('s.isalpha'.center(40, '-'))# 字符串中是否全部为英文字母,并至少有一个字符,若是则返回True,否则返回Falses_alpha = 'will's_alpha_isalpha = s_alpha.isalpha()print(s_alpha_isalpha)print('s.isdecimal'.center(40, '-'))# 判断字符串是否只有十进制字符,若是则返回True,否则返回Falses_deci = '333's_deci_isdecimal = s_deci.isdecimal()print(s_deci_isdecimal)print('s.isdigit'.center(40, '-'))# 判断字符串中是否全部为数字,并至少有一个字符,若是则返回True,否则返回Falses_digi = '123456's_digi_isdigit = s_digi.isdigit()print(s_digi_isdigit)print('s.isidentifier'.center(40, '-'))# 判断字符串是否为有效定义s_iden = ''s_iden_isidentifier = s_iden.isidentifier()print(s_iden_isidentifier)print('s.islower'.center(40, '-'))# 判断字符串是否全部为小写字符,若是则返回True,否则返回Falses_islower = s.islower()print(s_islower)print('s.isnumeric'.center(40, '-'))# 判断字符串中是否全部为数字,若是则返回True,否则返回Falses_nume = '123456's_nume_isnumeric = s_nume.isnumeric()print(s_nume)print('s.isprintable'.center(40, '-'))# 判断字符串中所有字符是否都是可打印字符(in repr())或字符串为空。s_prin = ''s_prin_isprintable = s_prin.isprintable()print(s_prin_isprintable)print('s.isspace'.center(40, '-'))# 判断字符串是否全部为空格,若是则返回True,否则返回Falses_spac = ' 's_spac_isspace = s_spac.isspace()print(s_spac_isspace)print('s.istitle'.center(40, '-'))# 判断字符串是否为一个标题字符串,即每个单词首写字母都为大写,若是则返回True,否则返回Falses_titl = 'String In Python.'s_titl_istitle = s_titl.istitle()print(s_titl_istitle)print('s.isupper'.center(40, '-'))# 判断字符串中是否全部为大写字符,若是则返回True,否则返回Falses_uppe = 'STR_TEST's_uppe_isupper = s_uppe.isupper()print(s_uppe_isupper)print('s.join'.center(40, '-'))# 将序列中的元素以指定的字符拼接成新的字符串strs = ['Powerful', 'strng', 'in', 'python']strs_join = ' '.join(strs) # 指定' '空格拼接列表中的元素print(strs_join)print('s.ljust'.center(40, '-'))# 使字符串左对齐,当len(s)
a,t->b,e->c),`outtab`用于替换`intab`出现在需要处理的字符串中,第三个参数为需要删除的字符intab = "st"outtab = "#$"deltab = '_'s_maketrans = s.maketrans(intab, outtab, deltab)print(s_maketrans)print('s.partition'.center(40, '-'))# 搜索指定分隔符,并返回第一个分隔符之前的部分,第一个分隔符本身,和第一个分隔符之后的部分s_part = 'I like Python's_part_partition = s_part.partition(' ')print(s_part_partition)print('s.replace'.center(40, '-'))# 字符串替换,`replace(self, old, new, count=None)`,接受参数依次是需要替换的字符串,替换后的字符串,和可选参数替换次数,默认为全部替换s_replace = s.replace('t', 'T', 1)print(s_replace)print('s.rfind'.center(40, '-'))# 在字符串中查找指定字符,找到则返回最大的索引,没有则返回-1,也可以加上分片指定字符串中索引范围s_rfind = s.rfind('t', 0, 8)print(s_rfind)print('s.rindex'.center(40, '-'))# 在字符串中查找指定字符,找到则返回最大的索引,没有则返回-1,也可以加上分片指定字符串中索引范围s_rindex = s.rindex('t', 0, 8)print(s_rindex)print('s.rjust'.center(40, '-'))# 使字符串右对齐,当len(s)

示例效果如下:

转载于:https://juejin.im/post/5cd03a7c6fb9a0324936c820

你可能感兴趣的文章
Python 数据类型
查看>>
iOS--环信集成并修改头像和昵称(需要自己的服务器)
查看>>
PHP版微信权限验证配置,音频文件下载,FFmpeg转码,上传OSS和删除转存服务器本地文件...
查看>>
教程前言 - 回归宣言
查看>>
PHP 7.1是否支持操作符重载?
查看>>
Vue.js 中v-for和v-if一起使用,来判断select中的option为选中项
查看>>
Java中AES加密解密以及签名校验
查看>>
定义内部类 继承 AsyncTask 来实现异步网络请求
查看>>
VC中怎么读取.txt文件
查看>>
如何清理mac系统垃圾
查看>>
企业中最佳虚拟机软件应用程序—Parallels Deskto
查看>>
Nginx配置文件详细说明
查看>>
怎么用Navicat Premium图标编辑器创建表
查看>>
Spring配置文件(2)配置方式
查看>>
MariaDB/Mysql 批量插入 批量更新
查看>>
ItelliJ IDEA开发工具使用—创建一个web项目
查看>>
solr-4.10.4部署到tomcat6
查看>>
切片键(Shard Keys)
查看>>
淘宝API-类目
查看>>
virtualbox 笔记
查看>>