首页 » 编程 » Python基础 » 正文

字符串操作

python学习日记-day17


字符串常用的有以下:

strip    # 去除空格

center   # 居中

count    # 统计次数

find     # 返回索引值

lower    # 大写变小写,casefold在PyCharm里提示没有,但是人为手写上已不会报错。

upper    # 小写变大写

join     # 列表拼接成字符串

split    # 分割

startwith    # 判断是否已什么开头

endwith      # 判断是否已什么结尾

replace      # 替换

index        # 返回索引值


s = 'Let\'s go'  # 转义符
print(r"le\ts")  # 原生字符串,\t有特殊意义,如过一定要打印出\t 可以在前面加r,表示里面所有的原生字符串都是不转义的

# 移除字符串头尾指定的字符(默认为空格)
name = "            Alex     Chen        "
print(name.strip())  # 移除首尾的空格

name2 = "00000000  Alex......Chen 0000000000"
print(name2.strip("0"))  # 移除首尾的0

# 分割
name3 = "alex Chen xie"
print(name3.split())  # 分割,把一个字符 按空格分割成列表

name4 = "alex;jim;john"
print(name4.split(";"))  # 指定分隔符,按分号分

# 判断长度
print(len(name))

name5 = "zhangsan,lisi,wangwu"
# 索引
print(name5.index("z"))

# 切片
print(name5[0:8])
print(name5[9:13])
print(name5[-6:-1])  # 顾头不顾尾,最后一个字符不会出现
print(name5[-6:])  # 顾头不顾尾,冒号后不写则会出现
print(name5[0::2])  # 跳着切,2是步长


name = "alex"
print(name.capitalize())  # 首字母大写

name = "Alex Chen"
print(name.casefold())  # 大写变小写,使用场景,如用户输入时判断
print(name.lower())  # 大写变小写
print(name.center(20, "*"))  # 打印20个字符,Alex Chen居中,以*进行填充
print(name.count("e"))  # 统计字母e出现的次数
print(name.count("e", 3))  # 统计字母e出现的次数,从第三个字符开始统计
print(name.count("e", 3, 7))  # 统计字母e出现的次数,统计第三个到第七个字符之间的次数
print(name.endswith("li"))  # 判断是否已li结尾,返回True或False,区分大小写

name = "Alex\tChen"
print(name.expandtabs(30))  # 字符串中如果有tab键,设置tab键的长度

print(name.find("e"))  # 返回第1个e的索引,找不到返回-1
print(name.find("e", 3))  # 从第三个字符开始找,返回第1个e的索引,找不到返回-1
print(name2.index("is"))  # 返回索引值,找不到报错

# 格式化输出
name = "My name is {0}, I'm {1} years old."
print(name.format("Alex", "23"))

name2 = "My name is {name}, I'm {age} years old."
print(name2.format(name="Alex", age="24"))
print(name2.format_map({"name": "Alex", "age": "25"}))  # 直接传字典

print("repelace:" + name2.replace("name", "NAME"))  # 替换,将所有name换位NAME
print("repelace:" + name2.replace("name", "NAME", 1))  # 替换,将name换位NAME,只替换1次


print(name2.isalnum())  # 取值范围:a-z A-Z 0-9 ,判断所有的字符是否是编码表里的字符
print("w334a".isalnum())

print("10".isdecimal())  # 判断是否是正整数
print("3456".isdigit())
print("一".isnumeric())  #判断是否是数字,包括1,2,3等,一,二,三等,壹,贰等 
print("A".isnumeric())  # 判断是否都是数字,忘记它 不用


print("a".isalpha())  # 判断是否是字母
print("a".isidentifier())  # 判断是否是合法的变量名
print("A".islower())  # 是否都是小写
print("A".isupper())  # 是否都是大写

print("a".isprintable())  # 是否可打印,如图片已经硬编码不可打印
print("a".isspace())  # 是否是空格
print("a".istitle())  # 是否是英文标题,单词是首字母大写就是标题返回True,如Today Headline

print(','.join(["alex", "jim", "Jack"]))  # 把列表拼接成字符串,以逗号隔开,分隔符可以为空

print(name2.ljust(50, "-"))  # 左对齐,50个字符,不够用-填充
print(name2.rjust(50, "-"))  # 右对齐



print(name2.lstrip("My"))  # 移除My

print(name2.swapcase())  # 大小写互换

print(name.translate())

IN = "abcde"
OUT = "@%^$#"
tras_table = str.maketrans(IN, OUT)
print(name2.translate(tras_table))


发表评论

验证码加载中....