Python3之字符串(String)浅谈

日期:2019年12月8日
作者:Commas
注释:学习就是为了忘记,让我们来总结一下Python3字符串的切片和字符串方法。
如果您想了解更多有关Python的知识,那么请点【我】
《我的Python浅谈系列目录》



一、字符串的切片

在这里插入图片描述
(i)定义:从一个大字符串切出一个小的字符串。
(ii)语法:string[start_index,end_index,step]

new_string = "python"
new_string[0]      # p
new_string[1]      # y
new_string[0:4]    # pyth
new_string[0:]     # python
new_string[0:5:2]  # pto

new_string[-1]     # n
new_string[0:-1]   # pytho
new_string[-6:-1]  # pytho
new_string[-6:]    # python

二、字符串的方法

获取“字典方法”的方法如下:
Python语句:print(dir(""))
控制台输出:
[‘add’, ‘class’, ‘contains’, ‘delattr’, ‘dir’, ‘doc’, ‘eq’, ‘format’, ‘ge’, ‘getattribute’, ‘getitem’, ‘getnewargs’, ‘gt’, ‘hash’, ‘init’, ‘init_subclass’, ‘iter’, ‘le’, ‘len’, ‘lt’, ‘mod’, ‘mul’, ‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘rmod’, ‘rmul’, ‘setattr’, ‘sizeof’, ‘str’, ‘subclasshook’, ‘capitalize’, ‘casefold’, ‘center’, ‘count’, ‘encode’, ‘endswith’, ‘expandtabs’, ‘find’, ‘format’, ‘format_map’, ‘index’, ‘isalnum’, ‘isalpha’, ‘isascii’, ‘isdecimal’, ‘isdigit’, ‘isidentifier’, ‘islower’, ‘isnumeric’, ‘isprintable’, ‘isspace’, ‘istitle’, ‘isupper’, ‘join’, ‘ljust’, ‘lower’, ‘lstrip’, ‘maketrans’, ‘partition’, ‘replace’, ‘rfind’, ‘rindex’, ‘rjust’, ‘rpartition’, ‘rsplit’, ‘rstrip’, ‘split’, ‘splitlines’, ‘startswith’, ‘strip’, ‘swapcase’, ‘title’, ‘translate’, ‘upper’, ‘zfill’]

(1)判断类型

方法说明
isalnum若 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
isalpha若 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
isascii若 string 的编码是ASCII或者空字符串,则返回True,否者返回False
isdecimal若 string 只包含十进制数字则返回 True ,否则返回 False
isdigit若 string 只包含数字则返回 True,否则返回 False
isidentifier若 string是有效的Python标识符,则返回Ture,否则返回False
islower若 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
isnumeric若 string 中只包含数字字符,则返回 True,否则返回 False
isprintable若 string中所有的字符都是可以打印的字符或则空字符串,则返回True,否则返回False
isspace若 string 中只包含空格,则返回 True,否则返回 False
istitle若 string 中所有的单词首字母大写,其余字母小写,那么返回 True,否则返回 False
isupper若 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

(2)查找和替换

方法说明
startswith(prefix[, start[, end]])检查 string 是否是以 prefix 开头,是则返回 True,否则返回 False。若 start 和 end 指定值,则在指定范围内检查
endswith(suffix[, start[, end]])检查 string 是否以 suffix 结束,是则返回 True,否则返回 False。若 start 和 end 指定值,则在指定范围内检查
find(sub[, start[, end]])检测 string 中是否包含 sub,若是返回开始的索引值,否则返回-1。若 start 和 end 指定范围,则检查是否包含在指定范围内
rfind(sub[, start[, end]])类似于find()方法,但是是从右边开始查找,若找到,则返回的值是正索引值,否则返回-1.
index(sub[, start[, end]])类似find()方法,不过 string 中不包含 sub,会抛出ValueError异常
rindex(sub[, start[, end]])类似rfind()方法,不过 string 中不包含 sub,会抛出ValueError异常
replace(old,new,count)把 string 中的 old 替换成 new,若指定 count 值,则从左往右替换过程中,替换次数不得大于 count 次

(3)大小写转换

方法说明
capitalize返回一个首个字符大写的字符串副本
title返回一个标题化的字符串副本。把每个单词首字母大写,其余均小写
lower返回一个全部小写的字符串的副本
upper返回一个全部大写的字符串的副本
swapcase返回一个大写变小写,且小写变大写的字符串副本

(4)文本对齐

方法说明
ljust(width[, fillchar])返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,其中fillchar默认为一个空格
rjust(width[, fillchar])返回一个原字符串右对齐,并使用 fillchar 填充至长度 width 的新字符串,其中fillchar默认为一个空格
center(width[, fillchar])返回一个原字符串居中,并使用 fillchar 填充至长度 width 的新字符串,其中fillchar默认为一个空格

(5)去空白字符

方法说明
lstrip返回一个截掉 string 左边空格的新字符串
rstrip返回一个截掉 string 右边空格的新字符串
strip返回一个截掉 string 左右两边空格的新字符串

(6)拆分与连接

方法说明
split(seq,maxsplit)将 string 按指定的分隔符 seq 进行切片,并返回一个列表。若 maxsplit 有指定值,则切片次数限制为 maxsplit,否则没有限制。
rsplit(seq,maxsplit)类似split()方法,不过是从右边开始,将 string 按指定的分隔符 seq 进行切片,并返回一个列表。若 maxsplit 有指定值,则切片次数限制为 maxsplit,否则没有限制,结果将会和split()方法返回值一样。
splitlines(keepends)将 string 按指定的分隔符\r、\n或者\r\n进行切片,并返回一个列表。若 keepends 为 True,则列表元素包含分割符,否则列表元素中不包含分隔符,默认值为 False
partition(seq)将 string 按指定的分隔符 seq 进行进行切片,并返回一个三元的元祖,第一个是分隔符左边的子串,第二个是分隔符本身 seq,第三个是分隔符右边的子串
rpartition类似partition()方法,不过是从右边开始,将 string 按指定的分隔符 seq 进行进行切片,并返回一个三元的元祖,第一个是分隔符左边的子串,第二个是分隔符本身 seq,第三个是分隔符右边的子串
join(iterable)将 iterable 中的每个元素用 string 间隔连接成一个新的字符串并返回。如"-".join([‘a’, ‘b’, ‘c’]),返回一个新的字符串“a-b-c”

(7)其它方法

方法说明
count(sub[, start[,end]])返回 string 中有多少个 sub。若 start 和 end 指定值,则在指定范围内检查
format(*args,**kwargs)字符串格式化,详情请《Python3之字符串格式化浅谈》
format_map(mapping)针对字典类型的字符串格式化,其中mapping是字典。
encode(encoding[,errors])对 string 进行 encoding 编码,并返回编码后的字符串
zfill(width)按 width 宽度返回新的字符串。若width>len(string),则在左边填充0字符串,否则返回原字符串。如"123".zfill(4),返回值一个新字符串"0123"
expandtabs(tablesize=8)将 string 中的制表符\t转为8个空格,若 tablesize 指定值,则转换为指定值个数的空格,并返回转换后的新字符串
maketrans(old_char,new_char)返回可用于str.translate()的转换表
translate(table)使用给定的转换表 table 替换 string 中的每个字符,并返回替换后的新字符串
casefold和lower()方法类似,不过是对其他语言(非汉语英语)转换为小写后,并返回生成的字符串。

本文参考:
1、https://www.runoob.com/python/python-strings.html


版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/103365263

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值