字符串详解
第三天学习字符串魔法,将所有学到的字符串魔法整理列于blog中,以后用到时,可以进入自己的blog查找,下午有三十道作业题,完成后另外上传 。
str魔法:
1 str.capitalize() 字符串首字母大写
2 str.casefold() 这两个都是所有变小写,casefold更厉害,能变各种语言的小写
3 str,lower()
str.center(self,width,fillchar=None) 设置宽度,内容居中,width是宽度,fill插入是空白填充,必须是单个字符。如“9”可以,“99”就不可以。 self可以不写,width必须写,fillchar可写可不写。
4 str.count() 去字符串中寻找子序列出现的次数,后面参数可以设置起始位置和结束位置,数字区间前开后闭。
5 str.endwith() 判断字符串是不是以指定序列结尾
6 str.startwith() 判断字符串是不是以指定序列开头
str.find(str, beg=0 end=len(string)) str -- 此选项指定要搜索的字符串。 beg -- 这是开始索引,默认情况下为 0。 end -- 这是结束索引,默认情况下它等于字符串的长度。如果找到此方法返回的索引,否则返回-1。beg和end两个数如果给定则是前闭后开的搜寻区间。
7 str.format() 格式化函数,字符串中的占位符替换为指定的值
test=‘i am {name}’ test='i am {name},age{a}'
print(test) print(test)
v=test.format(name='alex') v=test.format(name='alex',a=19)
print(v) print(v)
8 str.format_map() v2=test.formatmap({'name':'alex','a':19})效果同上
9 str.index() 功能和str.find()差不多,区别在于index找不到给定字符序列就报错,故此功能可以忽略,用str.find()就好。
10 str.isalnum() 判断字符串中是否只包含数字和字母,返回布尔值。
11 str.expandtabs(tabsize=8) 断句,默认以8为单位,如果填充n,则以n为单位往后找。
S
=
"use
rname\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123"
v
=
S.expandtabs(
20
)
print
(v)
输出结果:
12 str.isalpha() 判断字符串是否全为字母。
13 str.isdecimal() 这三个全是用来判断字符串是否为数字,这个只能用来判断0、1、2这种
14 str.isdigit() 这个可以用来判断0、1、2和②这种
15 str.isnumeric() 这个可以判断0、1、2和②以及二这三种形式的数
16 str.isidentifier() 判断字符是否为标识符,标识符只能由字母.数字、下划线组成,且不能由数字开头,
17 str.isspace() 判断字符是否全部为空格。
18 str.istitle() 判断一行文字是否是英文标题(英文标题首字母全部大写)
19 str.title() j将一行英文变为标题
20 str.join(self,iterable) 将字符串每一个元素按照指定分隔符进行拼接***********非常重要的一个功能。
s1 = "-" s2 = "" seq = ("r", "u", "n", "o", "o", "b") # 字符串序列 print (s1.join( seq )) print (s2.join( seq ))
以上实例输出结果如下:
r-u-n-o-o-b
runoob
21 str.ljust(self,width,fillchar=None) 字符串放在左边,右边剩下的填充指定字符。
22 str.ljust(self,width,fillchar=None) 字符串放在右边,左边剩下的填充指定字符。
23 str.zfill(self,width) 只能左边填充0,忽略此条命令。
24 str.islower() 判断是否全为小写 这两个命令好玩的功能:登录网站时,验证码无论大小写都可以,使用的便是这个功能。
25 str.lower() 将字符全部变为小写
26 str.lstrip() 用于截掉字符串左边的空格或指定字符。截掉 string 左边的空格(默认),可以指定字符串,字符串可以是一个字符,或者多个字符,匹配时不是按照整个字符串匹配的,而是一个个匹
27 str.rstrip() 用于截掉字符串右边的空格或指定字符。
28 str.strip() 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列,匹配时一个一个的匹配,如果有就去掉,如果两头没有而中间有也不能去掉,必须从两头往中间去除,去了两头的才能去除中间的。
29 str.maketrans() 做对应关系
30 str.translate() 做相应的替换
31 str.partition() 从左边找到第一个指定字符,做分割。
32 str.rpartition() 从右边找到第一个指定字符,做分割。
33 str.split() 根据指定的字符分割,且可以指定个数,但是匹配的字符不出现。
34 str.rsplit() 从右开始,根据指定的字符分割。
35 str.splitlines() 只能根据换行符分割,后面参数true,保留换行符,false,不保留换行符。
36 str.startwith() 判断是否以给定字符开头
37 str.endwith() 判断是否以给定的字符结尾
38 str.swapcase() 大小写转换,大写变小写,小写变为大写。
在上面的字符串函数中,join,split,find,strip,upper,lower是必须记住的。
“灰魔法”
test='alex'
v=test[n] n是字符的索引或者称之为下标,获取字符串的某一个字符。
print(v)
v=test[n:m] n=<v<m取这个区间的字符
v=test[0:-1] 取全部的字符
v=len(test) 获取当前字符串有几个字符组成 py2和py3不同
print(v)
字符串一旦创建不能修改,一旦修改或者拼接,就会重新生成字符串
test='alexalexalex'
v=test.replace('ex','b') 将字符替换为指定字符
print(v)
v=test.replace('ex','b',n) 只替换前n个
range 帮助创建连续的数字
v=range(100) py2中会立刻创建,py3中不会立刻创建
print(v)
将字符串中文字对应的索引打印出来
test = input('>>>')
for item in range(0,len(test))
print(item,test(item))
作业: