资讯专栏INFORMATION COLUMN

1-python 字符串的相关操作

Jonathan Shieber / 1044人阅读

摘要:字符串截取反转字符串格式化字符串格式化字符串格式化整数格式化浮点数如果想要设置精度保留两位小数语法格式字符串字符串里面有格式化字符对应的数据内嵌函数将当有效表达式将字符串中的大写字母转为小写,小写字母转为大写字符串中的第一个字母大写,其他

字符串截取

  str = str[0:9:3]

反转字符串

str = str[::-1]

格式化字符串

%s : 格式化字符串

%d : 格式化整数

%f : 格式化浮点数 如果想要设置精度: %.2f 保留两位小数

语法格式: 字符串(字符串里面有格式化字符) % (对应的数据)

内嵌函数

eval(str):将str当有效表达式

lower()

upper()

swapcase() :将字符串中的大写字母转为小写,小写字母转为大写

capitalize():字符串中的第一个字母大写,其他小写

title():将字符串中的每隔单词的首字母大写

返回一个指定长度width的字符串str这个字符串在中间,其他位置用fillchar补全,默认是空格

str.center(width, [fillchar])

str.ljust(width, [fillchar])

str.rjust(width, [fillchar])

str.zfill(width)

print(str3.center(15, "*"))
print(str3.ljust(15, "*"))
print(str3.rjust(15, "*"))
print(str3.zfill(15)) #0补充

string.count(str, [begin, end]) :返回string里面str出现的次数, 如果begin与end有值,查找该范围内的次数

str4 = "good very well good good very"
print(str4.count("good"))
print(str4.count("good", 3, 22))

检测字符串中有没有另一个字符串 string.find(str [,begin, end]) 检测string中有没有str,如果存在返回第一次出现的下标,如果begin与end有值,查找该范围当找不到时,返回-1 从左向右查找

print(str4.find("very"))
print(str4.find("very", 10, 31))
print(str4.find("qwert")) #返回-1

string.rfind(str [,begin, end]) 检测string中有没有str,如果存在返回第一次出现的下标,如果begin与end有值,查找该范围当找不到时,返回-1 从右向左查找

string.index(str [,begin, end]) 检测string中有没有str,如果存在返回第一次出现的下标,如果begin与end有值,查找该范围当找不到时,返回Error,程序报错从左向右查找 同理rindex

print(str4.index("very"))
print(str4.index("qwer")) #程序报错 Value Error
print(str4.rindex("very"))

截取字符串指定位置的元素,没有影响原始字符串,有返回值,返回更改过的值

str5.lstrip()
str6.lstrip("#")
str7.rstrip()
str7.strip()

ord() chr() str -> asii asii->str

切割字符串

str10 = "MM*GG*TT*HH*QQ"
print(str10.split("*"))  # ["MM", "GG", "TT", "HH", "QQ"] list 列表
print(str10.split("*", 2)) #切割2次

string.splitlines([boolean]) 按照行切割(n r nr),返回一个以行为单位的元素列表boolean如果为False,不保留换行符;如果为True,保留换行符;默认为False

# 10、链接字符串
# string.join(sep)  以指定的string作为连接符,将sep里面的元素拼接到一起
str13 = "*"
list13 = ["hello", "good", "man"]
print(str13.join(list13))

# 11、返回字符中最大的字母或最小的字母
str14 = "aAsdfghjkloiuyt"
# max()  返回字符中最大的字母
print(max(str14))
# min() 返回字符中最小的字母
print(min(str14))

# 12、替换字符串
# string.replace(old, new [, num])将string中的old旧字符串替换成new新
# 字符串,如果num有值,最多替换num次      记住
str15 = "nicegood well good man nice nice good nice man"
print(str15.replace("nice", "handsome"))
print(str15.replace("nice", "handsome", 2))
print(str15)

# str.maketrans() 创建一个字符映射表   了解
# 如果里面写两个参数,第一个参数为字符串,表示即将转换的字符;
# 第二个参数也要为字符串,表示字符转换的目标字符;
# 两个字符串的字符个数一定要一致
t = str.maketrans("abc", "123")
# 如果只有一个参数,参数类型为字典类型,key为即将转换的字符;
# value为字符转换的目标字符
t1 = str.maketrans({"a" : "1", "b" : "5"})
str16 = "qweawwbuucttabjjcd"
# string.translate(t)  根据t给出的映射表,替换string中的字符
print(str16.translate(t))
print(str16.translate(t1))

    # 例子

    def make_filter(s,filter_word):
        table = str.maketrans(filter_word, " "*len(filter_word))
        return s.translate(table).replace(" ","")
    
    if __name__ == "__main__":
        input = "study makes me happy "
        just_vowels = make_filter(input,"aeiou")
        print(just_vowels)

# 13、用于判断的函数
# str17 = ""
# print(str17.isalpha())
# 13.1、isalpha()  字符串中至少有一个字符,并且所有字符都是字母,
# 返回True,否则返回False   记住
# print("".isalpha())  # F
# print("abc".isalpha())  # T
# print("abc123".isalpha())  # F

# 13.2、isupper()  字符串中至少有一个是区分大小写的字符,并且所有字符都是大写,
# 返回True,否则返回False
print("abc".isupper())  # F
print("ABC".isupper())   # T
print("A123".isupper())   # T
print("abcQWE".isupper())  # F

# 13.3、islower()  字符串中至少有一个是区分大小写的字符,并且所有字符都是小写,
# 返回True,否则返回False
print("abc".islower())  # T
print("Abc".islower())  # F

# 13.4、istitle() 字符串中至少有一个是区分大小写的字符,
# 并且所有字符都是标题化,返回True,否则返回False
print("qer".istitle())   # F
print("Abc sdf".istitle())  # F
print("Abs Sdf".istitle())  # T

# 13.5、isalnum()  字符串中至少有一个字符,并且所有字符都是字母或数字,
# 返回True,否则返回False   记住
print("123abc".isalnum())  # T
print("123".isalnum())  # T
print("abc".isalnum())  # T
print("abc!@$$".isalnum())  # F

# 13.6、isdigit()  字符串中至少有一个字符,并且所有字符都是数字,
# 返回True,否则返回False   记住
print("abc".isdigit())  # F
print("123".isdigit())  # T
print("123abc".isdigit())  # F

# 13.7、isspace() 字符串中至少有一个字符,并且所有字符都是空格,
# 返回True,否则返回False
print("     ".isspace())  # T
print("   abc".isspace())  # F

# 13.8、string.startswith(str [, begin, end])   判断string是否以str开头,是返回True,
# 否则返回False  , begin, end指定范围查找   记住
str20 = "http://www.baidu.com"
print(str20.startswith("ht"))  # T
print(str20.startswith("http://"))  # T
print(str20.startswith("ttp"))  # F
print(str20.startswith("ttp",1, 12))  # T

# 13.9、string.endswith(str [, begin, end])   判断string是否以str开头,是返回True,
# 否则返回False  , begin, end指定范围查找    记住
print(str20.endswith("com"))  # T
print(str20.endswith(".com"))  # T
print(str20.endswith("cn"))  # F
print(str20.endswith("ttp",1, 12))  # F


# 14、编码解码
str21 = "pyc是好人"
print(str21)
# string.encode(encoding)  以encoding指定的格式进行编码
print(str21.encode("utf-8"))
print(str21.encode("GBK"))
# string.decode(encoding)  以encoding指定的格式进行编码
str22 = str21.encode("utf-8")
print(str22.decode("utf-8"))

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41534.html

相关文章

  • Python——基本数据类型(模块2: time库使用)(实例3:文本进度条)

    摘要:前言本篇主要介绍基本数据类型,以文本进度条为例,介绍库的使用。 前言 本篇主要介绍基本数据类型,以文本进度条为例,介绍time库的使用。 并在最后对蟒蛇绘制的代码进...

    Jenny_Tong 评论0 收藏0
  • 黑教小本本---python 基础数据类型相关整理

    摘要:基础数据类型版本分为余版本,目前同时发行。对中文支持较差,如果要在程序中使用中文字符或中文变量,则需要在源程序的第一行增加,当然别忘了将源文件保存为字符集。运算符左右两边都是布尔值,输出结果也为 python 基础数据类型 python版本分为2.0余3.0版本,目前同时发行。以后3.0版本将成为主流地址https://www.python.org/ 编辑器 自带编辑器IDLE【可...

    CodeSheep 评论0 收藏0
  • Python基础题目大全,测试你水平,巩固知识(含答案)

    摘要:里,有两种方法获得一定范围内的数字返回一个列表,还有返回一个迭代器。在引用计数的基础上,还可以通过标记清除解决容器对象可能产生的循环引用的问题。列举常见的内置函数的作用,过滤函数,循环函数累积函数一行代码实现乘法表。 showImg(https://segmentfault.com/img/remote/1460000019294205); 1、为什么学习Python? 人生苦短?人间...

    huhud 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<