一、定义:字符串是有序字符的集合,用于存储和表示基本的文本信息,一对单,双,三引号中间包含的内容称之为字符串。
二、字符串特性:
①、有序
②、不可变:字符串被声明后,里面内容不可修改。这点和列表不一样。
三、字符串方法
比如字符串s=“Hello World”
1、s.swapcase()吧字符串里元素大写变小写,小写变大写,变为“hELLO wORLD”,此没有修改原值,只是生成了一个新的值。
2、s.capitalize()返回首字母大写,其他的小写。
3、s.casefold()吧大小写去掉,全部变成统一的小写字母。
4.s.center(width,“两边要填充的内容”),就是把原字符串两边填充指定的内容(必须是字符串),同时内容长度指定为width。
5.s.count(“要统计的字母”)统计统计字符串里有几个要统计的字母。
s.count(“要统计的字母”,0,5)统计字符串从索引0到5有几个要统计的字母。
6、s.endswith(“指定字符):判断字符串是不是以指定字符结尾。
7、s.expandtabs(“要扩展的长度”):扩展tab键留的空格的长度。
8、s.find(“要查找的值”):找字符串里的字符,如果能找到则返回字符串的索引值,如果没有找到,则返回-1。
s.find(“要查找的值”,0,5):在字符串里从索引0到索引5里查找要查找的值。
9、format方法:就是字符串格式化,具体例子:
S3=“my names is {0},i am {1} years old”
S3.format{"alex",22}=“my name is alex ,i am 22 years old”
S4=“my names is {0},i am {0} years old”
S4.format{"alex",22}="my name is alex ,i am alex years old”
也可以用变量代替大括号里的0和1等。
S5="my name is {name},i am(age} years old"
S5.format{name="alex",age=22}=“my name is alex ,i am 22 years old”
10、s.index():返回指定字符的索引值。如果没有返回错误。
s.index(“指定字符”,2,5):返回从索引2到5之间指定字符的索引。
11、s.isalnum():如果字符串里全部是阿拉伯字符(包括阿拉伯数字和字母)形式字符则返回True否则返回False。
12、s.isalpha():如果字符串里全部是阿拉伯字母形式字符则返回True否则返回False。
13、s.isdecima():如果字符串里全部是整数形式返回True否则False。
14、s.isdigit():如果字符串是整数形式返回True,否则返回False。和s.isdecima()效果一样。
15、s.isidentifier():如果字符串是一个合法的变量名,则返回True否则返回False。
16、s.islower():判断字符串是不是都是小写,如果是返回True,否则返回False。
17、s.isnumeric():判断字符串里是不是全部是数字形式,如果是返回True,否则返回False。
18、s.isprintable():判断这个值是不是可以被打印。可以打印则返回True,否则返回False。
19、s.istittle():判断字符串里每个字符的首字母是不是都是大写,如果是就返回True否则返回False。
20、s.isupper():判断字符串的字符是不是都是大写,如果是就返回True否则返回False。
21、s.join():当列表里元素全部为字符形式,可以按规定的格式吧列表里面字符拼接成字符串。括号里填要转换的列表。
name=[‘alex‘,‘jack‘,‘rain‘]
"".join(names)=alexjackrain
" ".join(names)=alex jack rain
"、".join(names)=alex、jack、rain
22、s.ljust(width,fillchar):吧字符串往右填充至规定的长度,如果fillchar为空,则直接填充空格。
s.rjust(width,fillchar):作用类似s.ljust(width,fillchar),只不过是往左填充。
23、s.lower():吧字符串都变为小写。
s.upper():吧字符串都变为大写。
24、s.strip():吧字符串里的空格,换号,tab键全部去除。
s.lstrip():吧字符串里左边的空格,换号,tab键全部去除。
s.rstrip():吧字符串里右边的空格,换号,tab键全部去除。
25、s.maketrans():用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。方法语法:str.maketrans(intab, outtab)
intab -- 字符串中要替代的字符组成的字符串。
outtab -- 相应的映射字符的字符串。
以下实例展示了使用maketrans() 方法将所有元音字母转换为指定的数字:
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)
str = "this is string example....wow!!!"
print (str.translate(trantab))
以上实例输出结果如下:
th3s 3s str3ng 2x1mpl2....w4w!!!
26、s.replace(“a”,“h”,count=?):吧字符串里原来的字符“a”替换成“h”,count为空时默认全换,如果不为空,则替换指定个数。
27、s.rfind():返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
语法:str.rfind(str, beg=0 end=len(string)),
str -- 查找的字符串
beg -- 开始查找的位置,默认为0
end -- 结束查找位置,默认为字符串的长度。
以下实例展示了rfind()函数的使用方法:
str = "this is really a string example....wow!!!";
substr = "is";
print str.rfind(substr);
print str.rfind(substr, 0, 10);
print str.rfind(substr, 10, 0);
print str.find(substr);
print str.find(substr, 0, 10);
print str.find(substr, 10, 0);
以上实例输出结果如下:
5
5
-1
2
2
-1
28、s.rindex():作用和s.rfind一样,只不过rindex找不到会报错,rfind找不到返回-1。
29、s.split()方法:通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。
语法:str.split(str="", num=string.count(str))
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。默认为 -1, 即分隔所有。
实例
以下实例展示了split()函数的使用方法:
str = "this is string example....wow!!!"
print (str.split( )) # 以空格为分隔符
print (str.split(‘i‘,1)) # 以 i 为分隔符
print (str.split(‘w‘)) # 以 w 为分隔符
以上实例输出结果如下:
[‘this‘, ‘is‘, ‘string‘, ‘example....wow!!!‘]
[‘th‘, ‘s is string example....wow!!!‘]
[‘this is string example....‘, ‘o‘, ‘!!!‘]
s.rsplit()方法:作用和s.split一样,只不过从右边开始分割。
30、s.splitlines():按行来分割为列表。
31、**s.startswith(“要判断的字符”,“起始位置,默认为0“,“终点位置,默认为结尾”):判断字符串是不是以指定字符开始,对返回True,错则返回False。和s.endswith效果类似,endswith判断是不是以指定字符结束。
32、s.tittle():吧字符串里每个单词的首字母改为大写。
33、s.zfill(width):**吧字符串长度变为指定长度,不够的用0填充。
原文地址:https://blog.51cto.com/13543767/2406531