python字符串操作
字符串的截取
变量[头下标:尾下标]
下标以 0 为开始,-1为末尾开始值
字符串截取操作见day2
转义字符
转义字符 | 描述 |
---|---|
\ (在行尾时) | 续行符,将下一行的内容拼接到当前行的尾部 |
\\ | 反斜杠符号 |
’ | 单引号 |
" | 双引号 |
\a | 响铃 |
\b | 退格 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符,将光标移动到下一行的当前位置 |
\t | 横向制表符 |
\r | 回车,将光标移动到本行头部 |
\f | 换页 |
\yyy | 八进制数,y代表0-7的字符,如 \012 代表换行 |
\xyy | 十六进制数,以 \x 开头,y代表的字符 |
字符串格式化
print("我叫 %s 今年 %d 岁" % ('小明',10))
# 我叫 小明 今年 10 岁
字符串格式化符号
符号 | 描述 |
---|---|
%c | 格式化字符及其 ASCII 码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 同 %e |
%g | %f 和 %e 的简写,指定精度的科学计数法格式化浮点数 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量地址 |
格式化操作符辅助指令
符号 | 功能 |
---|---|
* | 定义宽度或小数点精度 |
- | 用作左对齐 |
+ | 在正数前显示加号 |
在正数前显示空格 | |
# | 在八进制数前显示 0 ,在十六进制数前显示 0x 或 0X |
0 | 显示的数字前面填充 0 ,而不是默认的空格 |
% | ‘%%’输出一个单个的% |
(var) | 映射变量,字典参数 |
m.n. | m是显示的最小宽度,n是小数点后的位数(如果可用) |
python2.6后 支持格式化字符串函数 str.format()
字符串内置函数
方法 | 描述 |
---|---|
len(string) | 返回字符串长度 |
capitalize() | 将字符串的第一个字符转为大写 |
expandtabs(tabsize=8) | 将string中的tab符号转为空格,tab符号默认空格数为8 |
center(width,fillchar) | 返回一个指定宽度width居中的字符串,fillchar为填充的字符,默认为空,如 print(str.center(5,'*')) |
count(str,beg=0,end=len(string)) | 返回str在string中出现的次数,beg和end用于指定范围,可变 |
startswith(substr,beg=0,end=len(string)) | 检查字符串string是否以 substr开头,是则返回True,否则返回False,beg和end可变 |
find(str,beg=0,end=len(string)) | 检查str是否在string中,beg和end可变,如果找到,则返回开始的索引,否则返回-1 |
rfind(str,beg=0,end=len(string)) | 类似find,但是从右边开始查找 |
index(str,beg=0,end=len(string)) | 同find,在找不到的时候会抛出一个异常 |
rindex(str,beg=0,end=len(string)) | 类似index,从右边开始查找 |
isspace() | 如果字符串中只包含空白,则返回True,否则返回False |
isalnum() | 如果字符串至少有一个字符,且字符都是字母或数字,则返回True,否则返回False |
isalpha() | 如果字符串至少有一个字符,且字符都是字母或者中文字,则返回True,否则返回False |
isdigit() | 如果字符串只包含数字则返回True,否则返回False |
isnumeric() | 如果字符串中只包含数字字符,则返回True,否则返回False |
islower() | 如果字符串中包含至少一个区分大小写的字符,并且所有这些区分大小写的字符都是小写,则返回True,否则返回False |
isupper() | 如果字符串中包含至少一个区分大小写的字符,并且所有这些区分大小写的字符都是大写,则返回True,否则返回False |
isdecimal() | 检查字符串是否只包含十进制字符,如果是则返回True,否则返回False |
title() | 返回’标题化’的字符串,即所有单词都是大写开头,其余字母都是小写 |
istitle() | 如果字符串是标题化的,则返回True,否则返回False |
join(seq) | 以指定字符串作为分隔符,将seq中所有元素合并为一个新的字符串 |
lower() | 将字符串中的所有的大写字母转为小写 |
upper() | 将字符串中的所有小写字母转为大写 |
swapcase() | 将字符串中的小写转为大写,大写转为小写 |
lstrip() | 截取到左边的空格或指定字符 |
rstrip() | 删除字符串末尾的空格 |
strip([chars]) | 在字符串执行 lstrip() 和 rstrip() |
max(str) | 返回str字符串中最大的字母 |
min(str) | 返回str字符串中最小的字母 |
zfill(width) | 返回一个长度为width的字符串,源字符串右对齐,前边填充0 |
ljust(width[,fillchar]) | 返回一个源字符串左对齐,并使用 fillchar 填充至长度width的新字符串,fillchar默认为空格 |
rjust(width[,fillchar]) | 返回一个源字符串右对齐,并使用 fillchar填充到长度width的新字符串,fillchar默认为空格 |
split(str="",num=string.count(str)) | 以str作为分隔符截取字符串,如果num有指定值,则仅截取 num+1 个字符串 |
splitlines([keepends]) | 按行(’\r’,’\r\n’,’\n’)分隔,返回一个包含各行作为元素的列表,如果 keepends 为False,不包含换行符,如果为True,则保留换行符。按行分割 |