• python3 学习记录 字符串处理


    目录

    1, f' ' 字符串格式 用法

    常见数字格式化

    结合进制的数字格式化

    总结

    2,格式化处理 大小写 输出

    3, python3 去除空格处理:

    4 、python3 字符串截取 (切片)

    5、字符串的搜索

    6、 字符串填充或者剔除某些信息

    7、 字符串的分割与合并


    1, f' ' 字符串格式 用法

    这是Python3.6版本开始引入的一种字符串格式化的语法,称为f-string。它允许在字符串中使用花括号{}来引用Python中的变量或表达式,并将它们的值插入到字符串中。这种语法简单易懂,使得字符串格式化变得更加简洁和高效。

    f-string以f或F开头,后面跟着一个带有花括号的表达式,花括号中可以放置要引用的变量或表达式。例如:

    常见数字格式化

    数字格式输出描述
    3.1415926{:.2f}3.14保留小数点后两位
    3.1415926{:+.2f}3.14带符号保留小数点后两位
    -1{:-.2f}-1带符号保留小数点后两位
    2.71828{:.0f}3不带小数
    5{:0>2d}5数字补零(填充左边,宽度为2)
    5{:x<4d}5xxx数字补x(填充右边,宽度为4)
    1000000{:,}1,000,000以逗号分隔的数字格式
    0.25{:.2%}25.00%百分比格式
    1000000000{:.2e}1.00E+09指数记数法
    13{:>10d}…13右对齐(默认,宽度为10, 表格默认居中,用‘.’代表空格)
    13{:<10d}13…左对齐(宽度为10, 表格默认居中,用‘.’代表空格)
    13{:^10d}…13…中间对齐(宽度为10, 表格默认居中,用‘.’代表空格)

    结合进制的数字格式化

    • '{:b}'.format(11)
    • '{:d}'.format(11)
    • '{:o}'.format(11)
    • '{:x}'.format(11)
    • '{:#x}'.format(11)
    • '{:#X}'.format(11) 


    总结

    1. ^, <, > 分别是居中、左对齐、右对齐,后面带宽度
    2. : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
    3. + 表示在正数前显示 +,负数前显示 -
    4. (空格)表示在正数前加空格
    5. b、d、o、x 分别是二进制、十进制、八进制、十六进制

    2,格式化处理 大小写 输出

    .lower() --- 全部小写

    .upper() --- 全部大写

    .title() --- 各个字符的首字母大写

    .capitalize() --- 首字母大写

    .swapcase() ---大小写对调

    1. s = "python3 test"
    2. print(s.lower())
    3. print(s.upper())
    4. print(s.title())
    5. print(s.capitalize())
    6. # python3 test
    7. # PYTHON3 TEST
    8. # Python3 Test
    9. # Python3 test

    3, python3 去除空格处理:

    .strip() --- 删除两边空格

    .lstrip() --- 删除左边空格

    .rstrip() --- 删除右边空格

    .replace(" ","") --- 删除所有空格

    .split() --- 先切分,"".join() --- 再拼接

    1. import sys
    2. s = " * it is blank space test * "
    3. print (s.lstrip())
    4. print(s.rstrip())
    5. print(s.strip())
    6. s_new = s.replace(" ", "")
    7. print(s_new)

    * it is blank space test * 
     * it is blank space test *
    * it is blank space test *
    *itisblankspacetest*

    4 、python3 字符串截取 (切片)

    strname[start : end : step]

    • strname:要截取的字符串;
    • start:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;
    • end:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度;
    • step:指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引出的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。

    1. import sys
    2. s = "12345678987654321"
    3. print(s[0:5])
    4. print(s[1:3:2])
    5. print(s[10:]) # 从10的所有项
    6. print(s[::-1]) # 倒序输出
    7. # 12345
    8. # 2
    9. # 7654321
    10. # 12345678987654321

    5、字符串的搜索

    • .count("o") #搜索并统计"o"出现的次数
    • .count("o",28) #搜索并统计,从第28位开始,"o"出现的次数
    • .startswith("only") #text以"only"开通
    • .startswith("only",2,10) #text的第3-9个字符以"only"开通
    • .find("you") #查找you
    • .replace("u","V",2)

    6、 字符串填充或者剔除某些信息

    • "1999".rjust(10,"$")#前一个字符代表填充后字符串的总长度
    • "1999".rjust(5,"$")
    • "1999".zfill(9)#用0填充,类似 "1999".rjust(9,"0")
    • "1999".rjust(9,"0")
    • "1999".center(50) #在左右两边都假设空格
    • "   1999   ".strip()#去重左右两边的空格
    • "1999".strip("9")#去重左右两边的"9"
    • " 1999 ".strip("9")#去重左右两边的"9",两边是空格没有9

    7、 字符串的分割与合并

    • text.replace("能",",")
    • text1=text.replace("能","\n")
    • print(text1)
    • print(text.replace("能","\n"))
    • text.split("能")#以"能"为结点把str拆成一个字列表
    • text.partition("能") #以"能"为结点把str拆成一个字元组
    • text.rpartition("能")
    • text1.splitlines()#识别空行进行分割
    • text1.split("\n")#同上分割空行
    • "@".join(text)#把@插入到str的每一个字符中
    • "12345".join("  ")#重复并拼接
  • 相关阅读:
    LeetCode-30. 串联所有单词的子串【滑动窗口】
    Qt之信号槽的理解
    Android系统编程入门系列之硬件交互——无线通信WLAN
    DNS解析中CNAME和MX记录冲突
    [Linux入门]---yum软件安装及vim编辑器配置
    计算机网络-传输层
    工程化面试题汇总
    SQL Server如何建表
    git删除文件提交,删除文件按后这个记录怎么提交?
    解决 MISCONF Redis is configured to save RDB snapshots 异常详解
  • 原文地址:https://blog.csdn.net/baidu_38131614/article/details/134021548