字符串常用操作
Posted 东大网管
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串常用操作相关的知识,希望对你有一定的参考价值。
- 字符串首字母大写:capitalize
- 统计字符串里有几个字符:count
- 字符串放中间center
- 判断字符串是不是以什么结尾,返回真假,比如判断邮件地址是不是以.com结尾endswith
- 将字符串里的tab健,\\t转换为多少个空格tabsize
- 查找字符串,返回第几个字符,从0开始计算,下面y返回的是1,find
- 字符串的格式化:format,叠加print的用法
- 如果格式化,导入的是字典,可以用format_map方法,结果跟format一样。
- 字符串是不是阿拉伯数字+阿拉伯字符,包括数字以及英文字母isalnum
- 字符串是否是纯英文字母isalpha
- 字符串是否是十进制的数字isdecimal
- 字符串是否是数字isdigit
- 字符串是不是都是小写islower
- 字符串是不是一个数字,跟isdigt()功能一样isnumeric
- 字符串是不是空格isspace
- 字符串是不是每个单词的首字母是大写:istitle
- 字符串是否可以打印的:主要应用在tty,drive文件,linux系统里使用的isprintable
- 字符串是不是大写isupper
- join把列表转换成字符串
- ljust有两个参数,一个长度,一个字符串,保证字符一共是50,如果不够在右边补齐*
- rjust正好相反:
- lower()把字符串里的大写变成小写:
- upper()把小写变大写
- lstrip()把字符串的左边换行符,空格,回车等
- 放在右边是不生效的:
- rstrip()去右边的换行回车,空格
- 左右都去除:strip()
- maketras(),类似于破译密码,这个是一个密码本,a,b,c,d,e,f对应1,2,3,4,5,6
- 字符串替换,replace()
- 查找字符串,rfind(),从左往右查找指定字符串,如果找到2次,那么返回第二次查找到的下标:
- split()按空格或者指定字符,将字符串分割为列表:
- 根据换行符来分割字符串为列表,splitlines(),在win下为\\r\\n,在linux下为\\n,在不同的系统下自动帮你识别换行符。
- swapcase()把字符串的大写变成小写,把小写变成大写:
- title()把字符串的首字母变成大写
- zfill()在字符串的前面补0,比如十六进制自动补0
所有的点之后的方法,如果前后有两个下划线的,这种不用管它,是内部的,我们用不上的。
字符串首字母大写:capitalize
统计字符串里有几个字符:count
让字符串美观,一共打印50个字符,如果不够就用‘-’补上,字符串放中间center
判断字符串是不是以什么结尾,返回真假,比如判断邮件地址是不是以.com结尾endswith
将字符串里的tab健,\\t转换为多少个空格tabsize
查找字符串,返回第几个字符,从0开始计算,下面y返回的是1,find
说明字符串也可以切片,如下图:
字符串的格式化:format
如果格式化,导入的是字典,可以用format_map方法,结果跟format一样。
字符串是不是阿拉伯数字+阿拉伯字符,包括数字以及英文字母isalnum
字符串是否是纯英文字母isalpha
字符串是否是十进制的数字isdecimal
字符串是否是数字isdigit
字符串是否是一个标识符,判断是不是一个合法的标识符,是不是一个合法的变量名。下图多了一个空格,isidentifier
字符串是不是都是小写islower
字符串是不是一个数字,跟isdigt()功能一样isnumeric
字符串是不是空格isspace
字符串是不是每个单词的首字母是大写:istitle
字符串是否可以打印的:主要应用在tty,drive文件,linux系统里使用的isprintable
字符串是不是大写isupper
join把列表转换成字符串
ljust有两个参数,一个长度,一个字符串,保证字符一共是50,如果不够在右边补齐*
rjust正好相反:
lower()把字符串里的大写变成小写:
upper()把小写变大写
lstrip()把字符串的左边换行符,空格,回车等
放在右边是不生效的:
rstrip()去右边的换行回车,空格
左右都去除:strip()
maketras(),类似于破译密码,这个是一个密码本,a,b,c,d,e,f对应1,2,3,4,5,6
字符串替换,replace()
只替换第一个l
查找字符串,rfind(),从左往右查找指定字符串,如果找到2次,那么返回第二次查找到的下标:
split()按空格或者指定字符,将字符串分割为列表:
根据换行符来分割字符串为列表,splitlines(),在win下为\\r\\n,在linux下为\\n,在不同的系统下自动帮你识别换行符。
swapcase()把字符串的大写变成小写,把小写变成大写:
- 1. makestrans()用法
- 语法: str.maketrans(intab, outtab]);
- Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,
- 第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
- 注:两个字符串的长度必须相同,为一一对应的关系。
- Python3.4已经没有string.maketrans()了,取而代之的是内建函数:
- bytearray.maketrans()、bytes.maketrans()、str.maketrans()
- """
- intab = "abcd"
- outtab = "1234"
- str_trantab = str.maketrans(intab,outtab)
- test_str = "csdn blog: http://blog.csdn.net/wirelessqa"
- print (test_str.translate(str_trantab)) # 3s4n 2log: http://2log.3s4n.net/wirelessq1
- """
- 2. translate() 用法
- 根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。
- 语法:
- str.translate(table[, deletechars]);
- bytes.translate(table[, delete])
- bytearray.translate(table[, delete])
- 若给出了delete参数,则将原来的bytes中的属于delete的字符删除,剩下的字符要按照table中给出的映射来进行映射
- """
- # 若table参数为None,则只删除不映射
- print(b\'http://www.csdn.net/wirelessqa\'.translate(None, b\'ts\')) #b\'hp://www.cdn.ne/wireleqa\'
- # 若table参数不为NONE,则先删除再映射
- bytes_tabtrans = bytes.maketrans(b\'abcdefghijklmnopqrstuvwxyz\', b\'ABCDEFGHIJKLMNOPQRSTUVWXYZ\')
- print(b\'http://www.csdn.net/wirelessqa\'.translate(bytes_tabtrans, b\'ts\')) #b\'HP://WWW.CDN.NE/WIRELEQA\'
上面的这两个函数是配合起来使用的。
title()把字符串的首字母变成大写
在字符串的前面补0,比如十六进制自动补0
以上是关于字符串常用操作的主要内容,如果未能解决你的问题,请参考以下文章