• Python3笔记022


    第5章 字符串及正则表达式

    5.1 字符串常用操作

    5.1.1 拼接字符串

    使用+运算符可完成多个字符串的拼接,产生一个新的字符串对象。

    str1 = "2020年07月06日是"
    str2 = "星期一"
    print(str1+ "-" + str2)
    

    字符串不允许直接与其他类型的数据拼接,非字符串须转换为字符串。

    # 字符串拼接的例子
    str1 = "2020年07月06日是7月第"
    str2 = "天"
    num1 = 6
    print(str1 + str(num1) + str2)
    

    5.1.2 计算字符串的长度

    python默认UTF-8编码,一个汉字占3个字节,一个字母占1个字节,一个数字占一个字节。

    len(string.encode())
    
    str1 = "2020"
    str2 = "星期三"
    str3 = "Wednesday"
    print(len(str1.encode()))
    print(len(str2.encode()))
    print(len(str3.encode()))
    

    5.1.3 截取字符串

    string[start : end : step]
    
    # 去掉星期两字
    str1 = "星期一星期二星期三星期四星期五星期六星期日"
    print(str1[2:len(str1):3])
    

    5.1.4 分割、合并字符串

    1、分割

    str.split(sep, maxsplit)
    参数说明
    sep:分隔符,默认为所有的空字符。
    maxsplit:分割次数.默认为 -1, 即分隔所有。
    
    str1 = "Google#Runoob#Taobao#Facebook"
    # 第二个参数为2,分割2次,返回两个参数列表
    strnew = str1.split("#", 2)
    print(strnew)
    输出:['Google', 'Runoob', 'Taobao', 'Facebook']
    
    str1 = "星期一#星期二#星期三#星期四#Sunday"
    # 第二个参数为2,分割2次,返回两个参数列表
    strnew = str1.split("#", 20)
    print(strnew)
    输出:['星期一', '星期二', '星期三', '星期四', 'Sunday']
    

    2、合并字符串

    strnew = string.join(iterable)
    参数说明
    string:指定的字符
    iterable:可迭代的一个序列
    
    string = '-'
    iterable = 'python'
    strnew = string.join(iterable)
    print(strnew)
    输出:p-y-t-h-o-n
    

    5.1.5 检索字符串

    1、count()方法

    list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
    print(list1.count("Tuesday"))
    output:
    1
    

    2、find()方法

    str1 = "星期一星期二星期三星期四星期五星期六星期日"
    print(str1.find("星期六"))
    output:
    15
    # 如果查找的字符串不存在,将输出-1
    str1 = "星期一星期二星期三星期四星期五星期六星期日"
    print(str1.index("星期八"))
    output:
    -1
    

    3、index()方法

    str1 = "星期一星期二星期三星期四星期五星期六星期日"
    print(str1.index("星期六"))
    output:
    15
    # 如果查找的字符串不存在,将会产生异常
    str1 = "星期一星期二星期三星期四星期五星期六星期日"
    print(str1.index("星期八"))
    output:
    ValueError: substring not found
    

    4、startswith()方法

    str.startswith(prefix[, start[, end]])
    
    str1 = "#星期一星期二星期三星期四星期五星期六星期日"
    print(str1.startswith("#"))
    output:
    True
    

    5、endswith()方法

    str.endswith(suffix[, start[, end]])
    
    str1 = "#星期一星期二星期三星期四星期五星期六星期日"
    print(str1.endswith("日"))
    output:
    True
    

    5.1.6 字母的大小写转换

    1、lower()方法

    str.lower()
    
    str1 = "Monday"
    print(str1.lower())
    输出:monday
    

    2、upper()方法

    str.upper()
    
    str1 = "Monday"
    print(str1.upper())
    输出:MONDAY
    

    5.1.7 去除字符串中的空格和特殊字符

    1、strip()方法

    strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

    str.strip([chars])
    chars:移除字符串头尾指定的字符序列
    
    str1 = "                      M o n da  y               "
    print(str1.strip())
    output:M o n da  y
    

    2、lstrip()方法

    lstrip() 方法用于截掉字符串左边的空格或指定字符

    str.lstrip([chars])
    
    str1 = "                      M o n da  y               "
    print(str1.lstrip())
    M o n da  y               
    

    3、rstrip()方法

    rstrip() 删除 string 字符串末尾的指定字符(默认为空格)

    str.rstrip([chars])
    
    str1 = "                      M o n da  y               "
    print(str1.rstrip())
    output:                      M o n da  y
    

    5.1.8 格式化字符串

    1、使用%操作符---放弃使用

    '%[-][+][0][m][.n]格式化字符'%exp
    

    2、使用字符串对象的format()方法---建议使用

    str.format(args)
    str:用于指定字符串的显示样式(即模板)
    args:用于指定要转换的项,如果有多项,逗号分隔
    

    创建模板

    {[index][:[[fill]align][sign][#][width][.precision][type]]}
    

    format()方法中常用的格式化

    格式化字符 说明
    s 对字符串类型
    d
    c 将十进制整数自动转换成对应的Unicode字符
    e或者 转换为科学计数法表示再
    g或者 自动在e和f或者EF中切换
    b 将十进制整数自动转换成二进制表示再
    o 将十进制整数自动转换成八进制表示再格式化
    x或者 将十进制整数自动转换成十六进制表示再格式化
    f或者 转换为浮点数再格式化
    % 显示
    template = '今天的日期是{:s},星期{:s}'
    date = template.format('20200706','一')
    print(date)
    output:
    今天的日期是2020706,星期一
    

    5.1.9 字符串转字节

    # python3添加了bytes字节类型
    s = "apple"
    print(bytes(s,encoding='utf-8'))
    output:
    b'apple'
    
  • 相关阅读:
    MATLAB中的并行计算
    CVPR 2012 Highlights from Andrej Karpathy
    在.NET客户端程序中使用多线程
    AlcheMo
    笑笑
    字体模糊的解决办法 Windows Mobile
    打开windows mobile的输入模式
    XHTML MP 基础(手机网站开发基础技术)
    U盘修复资料
    历史上最昂贵的8大IT工程失误和教训
  • 原文地址:https://www.cnblogs.com/infuture/p/13237585.html
Copyright © 2020-2023  润新知