python3_String复习
"""
Time = "2021-08-10"
Author = "Yblackd"
Desc = "python_String 常用方法练习"
"""
(1)字符中大小写转换
- S.lower():字母大写转换成小写。
- S.upperO:字母小写转换成大写。
- S.swapcase():字母大写转换小写,小写转换成大写。
- S.title():将首字母大写。
(2)字符串搜索、替换
- S.find(substr,[start,[end]]):返回S中出现substr的第一个字母的下下标,如果S中没有substr则返回-1,start 和end作用就相当于在S[start:end]中按索。
- S.count(subetr,[start,[end]]):计算substr在S中出现的次数。
- S.replace(oldstr,newstr,[count]):把S中的oldstar 替换为newstr,count为替换次数,
- S.strip([chars]):把S左右两端chars中有的字符全部去掉,一般用于去除空格。
- S.lstrip([chars]):把S左端chars中所有的字符全部去掉。·S.strip([chars]):把S左端chars中所有的字符全部去掉。
(3)字符串分割、组合
- S.split(sep,[maxsplit]):以sep为分隔符,把S分成一个list。maxsplit表示分割的次数,默认的分割符为空白字符。
- S.join(seq):把seq代表的序列 改变成 字符串序列,用S连接起来。
(4)字符串编码、解码
- Unicode: 统一编码, 任何编码转换都需要先转换成 Unicode后, 再转换成 自己需要的编码
- S.decode([encoding]):将以encoding编码的s解码成unicode编码。 py2中有该方法,但是py3没有该方法, 由于py3中默认是以Unicode解码,所以str类型不需要再将 各种类型的编码 解码成Unicode后 再进行编码转换
- S.encode([encoding]):将以unicode编码的S编码成encoding,encoding可以是gb2312、gbk、big5, utf8.……
(5)字符串测试
- S.isalpha():S是否全是字母,至少有一个字符。
- S.isdigit():S是否全是数字,至少有一个字符。
- S.isspace():S是否全是空白字符,至少有一个字符。
- S.islower():S中的字母是否全是小写。
- S.isupper():S中的字母是否全是大写。
- S.istitle():S是否是首字母大写的。
代码
__Time__ = "2021-08-10"
__Author__ = "Yblackd"
__Desc__ = "python_String 常用方法练习"
# !/usr/bin/env python
# -*- coding: GBK -*-
import random
def str_case():
"""字符串大小写转换"""
s = "ThIs a Python"
print("大写转换成小写: \t %s" % s.lower())
print("小写转换成大写: \t %s" % s.upper())
print("大小写转换: \t %s" % s.swapcase())
print("首字母大写: \t %s" % s.title())
pass
def str_find():
"""字符串搜索、替换、去除空格"""
s = " ThIs is a Python "
print("字符串搜索: \t %s" % s.find("is"))
print("字符串统计: \t %s" % s.count("s"))
print("字符串替换: \t %s" % s.replace("a", "an"))
print("字符串去左右空格: \t %s" % s.strip())
print("字符串去 左 空格: \t %s" % s.lstrip())
print("字符串去 右 空格: \t %s" % s.rstrip())
def str_split():
"""字符串分割、组合"""
s = " ThIs is a Python "
print("字符串分割 : \t %s" % s.split())
print("字符串组合1 : \t %s" % ("#".join(['ThIs', 'is', 'a', 'Python'])))
print("字符串组合2 : \t %s" % (" ".join(['ThIs', 'is', 'a', 'Python'])))
def str_code():
"""字符串编码、解码"""
s = "编解码测试"
str_utf8 = s.encode("UTF-8")
str_gbk = s.encode("GBK")
print("UTF-8 编码:", str_utf8)
print("GBK 编码:", str_gbk)
print("UTF-8 解码:", str_utf8.decode('UTF-8', 'strict'))
print("GBK 解码:", str_gbk.decode('GBK', 'strict'))
def str_test():
"""
字符串测试
:return bool
"""
s = "abcd"
s1 = "123a"
s2 = "123"
s3 = " "
s4 = "abcde"
s5 = "ABCDE"
s6 = "Abcde"
print("是否全是字母 \t%s" % s1.isalpha())
print("是否全是数字 \t%s" % s2.isdigit())
print("是否全是空白字符 \t %s" % s3.isspace())
print("是否全部小写 \t %s" % s4.islower())
print("是否全部大写 \t %s" % s5.isupper())
print("是否首字母大写 \t %s" % s6.istitle())
def test():
"""
python中 列表中 放str类型的数字, print是不带双引号,想要将结果给C++,需要输出带双引号的值
:return:
"""
l1 = []
for i in range(100):
l1.append(("\"%s\"" % str(i)))
s1 = ", ".join(l1)
print(s1)
if __name__ == '__main__':
# str_case()
# str_find()
# str_split()
# str_code()
# str_test()
test()