字符串(五)
2019-01-11 本文已影响11人
5f2a6061653d
检测前缀或后缀
在处理字符串时,有时需要检测字符串是否以某个前缀开头或以某个后缀结束,这时可以使用startswith()与endswith()函数,如下表所示。
函数 | 说明 |
---|---|
startswith(prefix, beg=0,end=len(string)) | 检查字符串是否是以prefix开头,如果是,则返回True,否则返回False。如果beg和end指定值,则在指定范围内检查 |
endswith(suffix, beg=0, end=len(string)) | 检查字符串是否以suffix结束,如果是,返回True,否则返回False。如果beg和end指定值,则在指定范围内检查 |
接下来演示这两个函数的用法,如下所示。
1 str = "www.sunyu.com"
2 print(str.startswith("www"))
3 print(str.startswith("sunyu", 4))
4 print(str.endswith("com"))
5 print(str.endswith("yu", 0, 9))
运行结果如下图所示。
运行结果
在上例中,startswith()与endswith()函数中后两个参数代表检测字符串的范围。这两个函数用于检测字符串开始或结束的部分是否等于另一个字符串,其作用与等于操作符类似,这样使编程更加灵活。
合并与分割字符串
在处理字符串时,有时需要合并与分割字符串,这时可以使用join()与split()函数,如下表所示。
函数 | 说明 |
---|---|
join(seq) | 以指定字符串作为分隔符,将seq中所有的元素(字符串表示)合并为一个新的字符串 |
split(str="", num=string.count(str)) | 以str为分隔符分割字符串,如果num有指定值,则仅分割num次 |
接下来演示这两个函数的用法,如下所示。
1 seq1 = "隼与鱼" # 字符串
2 print("|".join(seq1))
3 seq2 = ["隼与鱼", "简书", "Ray"] # 列表
4 print("-".join(seq2))
5 str3 = "隼与鱼|简书|Ray"
6 print(str3.split("|"))
7 print(str3.split("|", 1))
运行结果如下图所示。
运行结果
在上例中,第2行将“|”与字符串seq1中每个字符合并成一个新字符串。第4行将“-”与列表seq2中每个元素合并成一个新字符串。第6行将字符串str3以“|”为分割符进行分割。第7行指定分割次数为1。
对齐方式
在处理字符串时,有时需要设置字符串对齐方式,这时可以使用rjust()、ljust()和center()函数,如下表所示。
函数 | 说明 |
---|---|
rjust(width,[, fillchar]) | 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度width 的新字符串 |
ljust(width[, fillchar]) | 返回一个原字符串左对齐,并使用 fillchar(默认空格)填充至长度width 的新字符串 |
center(width, fillchar) | 返回一个原字符串居中,并使用 fillchar(默认空格)填充至长度width 的新字符串 |
接下来演示这三个函数的用法,如下所示。
1 str = "隼与鱼" # 字符串
2 print(str.rjust(10))
3 print(str.rjust(10, '$'))
4 print(str.ljust(10))
5 print(str.ljust(10, '$'))
6 print(str.center(10))
7 print(str.center(10, '$'))
运行结果如下图所示。
运行结果
在上例中,第2行设置宽度为10、右对齐、空格填充方式显示新字符串。第3行设置宽度为10、右对齐、$填充方式显示新字符串。后面的几个函数与前面函数的用法类似,在此不再赘述。