内容简介:Python中字符串是作为一种强大的处理工具集的存在,而不是类C中使用的那么难受。因为Python提供了一系列字符串操作的方法,从大小写转换、切片操作到查找等等应有尽有,几乎满足日常的使用场景,当然如果满足不了需求还可以得助于更加强大的第三方库比如
Python中字符串是作为一种强大的处理 工具 集的存在,而不是类C中使用的那么难受。因为 Python 提供了一系列字符串操作的方法,从大小写转换、切片操作到查找等等应有尽有,几乎满足日常的使用场景,当然如果满足不了需求还可以得助于更加强大的第三方库比如 string
, re
等。下面就介绍了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的转换表,示例中 ste 与 abc 为映射关系,每个字符相对应(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,否则返回False s_num = '233' s_num_isalnum = s_num.isalnum() print(s_num_isalnum) print('s.isalpha'.center(40, '-')) # 字符串中是否全部为英文字母,并至少有一个字符,若是则返回True,否则返回False s_alpha = 'will' s_alpha_isalpha = s_alpha.isalpha() print(s_alpha_isalpha) print('s.isdecimal'.center(40, '-')) # 判断字符串是否只有十进制字符,若是则返回True,否则返回False s_deci = '333' s_deci_isdecimal = s_deci.isdecimal() print(s_deci_isdecimal) print('s.isdigit'.center(40, '-')) # 判断字符串中是否全部为数字,并至少有一个字符,若是则返回True,否则返回False s_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,否则返回False s_islower = s.islower() print(s_islower) print('s.isnumeric'.center(40, '-')) # 判断字符串中是否全部为数字,若是则返回True,否则返回False s_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,否则返回False s_spac = ' ' s_spac_isspace = s_spac.isspace() print(s_spac_isspace) print('s.istitle'.center(40, '-')) # 判断字符串是否为一个标题字符串,即每个单词首写字母都为大写,若是则返回True,否则返回False s_titl = 'String In Python.' s_titl_istitle = s_titl.istitle() print(s_titl_istitle) print('s.isupper'.center(40, '-')) # 判断字符串中是否全部为大写字符,若是则返回True,否则返回False s_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)<width时,多余的字符默认为空,也可以指定填充单个字符 s_ljust = s.ljust(10, '*') print(s_ljust) print('s.lower'.center(40, '-')) # 将字符串全部转为小写字符 s_lowe = 'I Like PYTHON' s_lowe_lower = s_lowe.lower() print(s_lowe_lower) print('s.lstrip'.center(40, '-')) # 删除字符串最前面的空格,回车,制表符等 s_lstr = ' \n\t\rstr_test' s_lstr_lstrip = s_lstr.lstrip() print(s_lstr_lstrip) print('s.maketrans'.center(40, '-')) # 返回一个用translate的转换表,示例中`ste`与`abc`为映射关系,每个字符相对应(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)<width时,多余的字符默认为空,也可以指定填充单个字符 s_rjust = s.rjust(10, '*') print(s_rjust) print('s.rpartition'.center(40, '-')) # 搜索指定分隔符,并返回最后一个分隔符之前的部分,最后一个分隔符本身,和最后一个分隔符之后的部分 s_part = 'I like Python' s_part_rpartition = s_part.rpartition(' ') print(s_part_rpartition) print('s.rsplit'.center(40, '-')) # 从右向左寻找,以某个元素为中心将左右分割成两个元素并放入列表中,maxsplit参数默认为-1,表示根据指定分割字符全部分割,`maxsplit=1`即根据指定分割字符仅分割一次,使用效果和rpartition类似 s_rspl = 'I like python' s_rspl_rsplit = s_rspl.rsplit(' ', 1) print(s_rspl_rsplit) print('s.rstrip'.center(40, '-')) # 删除字符串最后面的空格,回车,制表符等 s_rstr = ' str_test\n\t\r' s_rstr_rstrip = s_rstr.rstrip() print(s_rstr_rstrip) print('s.split'.center(40, '-')) # 从左向右寻找,以某个元素为中心将左右分割成两个元素并放入列表中,maxsplit参数默认为-1,表示根据指定分割字符全部分割,`maxsplit=1`即根据指定分割字符仅分割一次,使用效果和partition类似 s_spli = 'I like python' s_spli_split = s_spli.split(' ', 1) print(s_spli_split) print('s.splitlines'.center(40, '-')) # 以换行符('\r', '\r\n', \n')为分割列表,参数`keepends`默认False,不包含换行符,如果为True,则保留换行符 s_line = '''It's a nice day. with beautiful mood. and you ''' s_line_splitlines = s_line.splitlines(True) print(s_line_splitlines) print('s.startswith'.center(40, '-')) # 判断字符串开头是否为指定字符串,若是则返回True,否则返回False s_startswith = s.startswith('str') print(s_startswith) print('s.strip'.center(40, '-')) # 删除字符串左右两边的空格,回车,制表符等 s_stri = '\n\t\rstr_test\n\t\r' s_stri_strip = s_stri.strip() print(s_stri_strip) print('s.swapcase'.center(40, '-')) # 将字符串中大小写字符翻转为小大写字符 s_swap = 'STR_test' s_swap_swapcase = s_swap.swapcase() print(s_swap_swapcase) print('s.title'.center(40, '-')) # 将字符串转为标题字符串,即每个单词首字母大写 s_titl = 'poerful string in python' s_titl_title = s_titl.title() print(s_titl_title) print('s.translate'.center(40, '-')) # 根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。table表是通过maketrans方法转换而来 s_translate = s.translate(s_maketrans) print(s_translate) print('s.upper'.center(40, '-')) # 将字符串全部转为小写字符 s_uppe = 'STR_Test' s_uppe_upper = s_uppe.upper() print(s_uppe_upper) print('s.z_fill'.center(40, '-')) # 当len(s)<width时,从左边开始用0填充 s_zfill = s.zfill(10) print(s_zfill) 复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 利用正则表达式将字符串分组示例代码
- 枚举 – 为什么Flux架构示例使用常量作为动作类型而不是字符串?
- 查找一个字符串中最长不含重复字符的子字符串,计算该最长子字符串的长度
- (三)C语言之字符串与字符串函数
- 算法笔记字符串处理问题H:编排字符串(2064)
- 如何在JavaScript中检查字符串是否包含子字符串?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
屏幕上的聪明决策
Shlomo Benartzi、Jonah Lehrer / 石磊 / 北京联合出版公司 / 2017-3 / 56.90
为什么在手机上购物的人,常常高估商品的价值? 为什么利用网络订餐,人们更容易选择热量高的食物? 为什么网站上明明提供了所有选项,人们却还是选不到最佳的方案? 屏幕正在改变我们的思考方式,让我们变得更冲动,更容易根据直觉做出反应,进而做出错误的决策。在《屏幕上的聪明决策》一书中,什洛莫·贝纳茨教授通过引人入胜的实验及案例,揭示了究竟是什么影响了我们在屏幕上的决策。 ......一起来看看 《屏幕上的聪明决策》 这本书的介绍吧!