zoukankan      html  css  js  c++  java
  • python -- 字符串操作

    一、字符串的拼接

    a.加号(+)拼接

    str = “Hello” + “ “ + “python” + “!”

    # ----------------------------------------
    # 字符串的拼接:+、join函数、格式化
    # ----------------------------------------
    # +(加号) 将两个字符串连接起来,成为一个新的字符串
    str1 = "Hello"
    str2 = "python"
    str3 = "!"
    str_new = str1 + " " + str2 + str3
    print(str_new)

    # 也可以使用加法赋值运算符(+=)进行连接
    str_new += "^-^"
    print(str_new)

    b.join函数拼接

    str = sep.join(seq)

    sep:分隔符;seq:要连接的字符串序列

    # join函数 'sep'.join(seq)
    # sep:分隔符;seq:要连接的字符串序列
    sep = " "
    str4 = sep.join("Hello")
    print(str4)

    seq = ['10', '20', '30', '40']
    str5 = sep.join(seq)
    print(str5)

    c.字符串格式化

    1.使用字符串操作符%

    2. 使用str.format()函数(推荐)

    # 字符串格式化:%、str.format()
    # 使用字符串操作符%来格式化字符串
    major_version = 3
    minor_version = 6.400
    str6 = "使用%%格式化输出:%s %s %d.%.1f!" % (str1, str2, major_version, minor_version)
    print(str6)

    num = 1
    str7 = "如果只有%d个参数,可以省略括号" % num
    print(str7)
    # char = 'A'
    char = 65 # 输出ASCII码对应的字符 a:97
    str8 = "%%c用来格式化字符及其ASCII码:%c" % char
    print(str8)

    # 可以用数字指定输出数据的长度
    # -,左对齐标志,默认为右对齐
    # 0,表示数据长度不够时,用0填充。默认用空格填充
    str9 = "%5s的总成绩是%3d %-5s的总成绩是%03d" % ("李宇", 99, "刘晓", 96)
    print(str9)
    # +,表示正负号都要输出,默认只输出负号
    str10 = "广州的温度为%+d,哈尔滨的温度为%+d" % (18, -18)
    print(str10)

    # 使用str.format()格式化字符串
    # {}及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换
    # 1、按默认的顺序输出对应的参数(自动编号)
    print("主流的搜索引擎是:{}和{} ".format('百度', 'Google'))

    # 2、在括号中用数字指定format中参数的位置(手动编号)
    print("主流的搜索引擎是:{0}和{1}".format('百度', 'Google'))
    print("主流的搜索引擎是:{1}和{0} 我使用{0}多一些".format('百度', 'Google'))

    # 3、给参数定义关键字,并且与其它方式组合使用
    # 注意:不能将自动编号和手动编号的方式混合起来使用。并且位置参数不能排在关键字参数的后面。
    print("搜索引擎有:{0}、{1}和{sou_gou}等等".format('百度', 'Google', sou_gou='搜狗'))
    print("搜索引擎有:{}、{sou_gou}和{}等等".format('百度', 'Google', sou_gou='搜狗'))

    # print("搜索引擎有:{0}、{1}和{2}等等".format('百度', 'Google', sou_gou='搜狗'))

    format_str1 = "保留小数点后两位数:{:.2f}".format(3.1415926, 8.888, pi=3.1415926)
    print(format_str1)
    format_str2 = "保留整数,不带小数位,并且保留正负号:{:+.0f}".format(3.1415926)
    print(format_str2)

    # <,左对齐,右边填充空格;>,右对齐,左边填充空格
    format_str3 = "默认左对齐:{:20s} Python!".format("Hello")
    print(format_str3)
    format_str4 = ">右对齐:{:>20s} Python!".format("Hello")
    print(format_str4)
    format_str5 = "默认填充空格,改为填充-:{:->20s} Python!".format("Hello")
    print(format_str5)

    format_str6 = "指定数据长度为3,右对齐,不够时左边填充0:{:0>3d}".format(9)
    print(format_str6)
    format_str7 = "指定数据长度为3,左对齐,不够时右边填充0:{:0<3d}".format(9)
    print(format_str7)

    字符串格式化符号:

    二、字符串的转义

    字符串的转义符号

    三、字符串的截取

    使用str[x]、str[x:y]截取字符串中指定范围的字符,包含x,但不包含y。


    # ----------------------------------------
    # 字符串的截取:[]、[:]
    # ----------------------------------------
    string = "字符串的截取操作!"

    # str[i] 表示截取第几个字符,字符索引值从0开始
    print("string[1]:", string[1])

    # str[x:y] x表示开始截取的索引值,y表示停止截取的索引值(包含x,但不包含y)
    print('string[2:5]:', string[2:5])

    # 如果省略开始索引值,就从第一个字符到结尾索引值
    print('string[:5]:', string[:5])

    # 如果省略结尾索引值,就从开始索引值到最后一个字符
    print('string[2:]:', string[2:])

    # 更新字符串
    # string[3] = "被"
    string = string[:3] + "被" + string[4:]
    print(string)

    # 使用in和not in判断某个字符或字符串是否存在于另一个字符串中
    sub_string = "截取"
    if sub_string in string:
    print("in")
    else:
    print("not in")

    sub_string = "是"
    if sub_string not in string:
    print("not in")
    else:
    print("in")

    四、字符串的常用函数

    count():统计字串里某个字符出现的次数

    len():返回字符串的长度

    find():检测字符串中是否包含子字符串

    replace():把字符串中的旧字符串替换为新字符串

    lower():转换字符串中的所有大写字母为小写

    upper():转换字符串中的所有小写字母为大写

    swapcase():对字符串中的大小写字母进行相互转换

    strip():删除字符串左右两侧的空格或指定的字符

    isalnum():检测字符串中的字符是否全部由字母或数字组成

    # ----------------------------------------
    # 字符串的常用函数
    # ----------------------------------------
    # count() 用于统计字符串里某个字符出现的次数
    string = "Hello python!"
    sub_str = 'o'
    print("字符o出现的次数为:", string.count(sub_str))
    # len()返回字符串的长度
    print("字符o出现的次数为:", string.count(sub_str, 5, len(string)))

    # find() 检测字符串中是否包含子字符串。如果包含,返回开始的索引值;否则返回-1。
    sub_str1 = "py"
    sub_str2 = "pn"
    print("查找子串py,返回索引值:", string.find(sub_str1))
    print("查找子串pn,返回索引值:", string.find(sub_str2, 2))
    print("查找子串py,返回索引值:", string.find(sub_str1, 3, 8))

    # index()与find()函数的用法相同,只是当字符串中没有包含指定的子串时,会报一个异常,而不是返回-1。

    # replace() 把字符串中的旧字符串替换为新字符串
    print(string.replace("python", "word")) # 默认是进行全部替换
    print(string.replace("o", "w", 1)) # 也可以指定替换的最大次数

    # swapcase() 对字符串中的大小写字母进行相互转换
    print("swapcase:", string.swapcase())

    # lower() 转换字符串中所有大写字符为小写
    print("lower:", string.lower())

    # upper() 转换字符串中所有小写字母为大写
    print("upper:", string.upper())

    # strip() 删除字符串左右两侧的空格或指定的字符
    string2 = "------ch02_基础语法--------"
    print("strip:", string2.strip('-'))

    string1 = "Python3"
    # isalnum() 如果字符串至少有一个字符,并且所有字符都是字母或数字则返回True,否则返回False。
    print("isalnum:", string1.isalnum())
    # isalpha() 如果字符串至少有一个字符,并且所有字符都是字母则返回True,否则返回False。
    print("isalpha:", string1.isalpha())
    # isdigit() 如果字符串只包含数字则返回True,否则返回False。
    print("isdigit:", string1.isdigit())

    # title() 返回一个标题化的字符串(即所有单词以大写开头,其余字母均为小写)
    print(string.title())

    # center() 返回一个指定宽度并且居中显示的字符串,并在左右两侧填充指定的字符,默认为空格
    print("center:", string.center(40, '-'))

  • 相关阅读:
    C语言版本:单链表的实现(优化版本)
    C语言版本:单链表的实现
    C语言版本:顺序表的实现
    C++:多态浅析
    C++:同名隐藏和赋值兼容规则
    C++:钻石继承与虚继承
    C++:派生类的构造函数和析构函数的调用顺序
    Docker安装和使用
    Node10.15.0的安装
    碎碎叨叨
  • 原文地址:https://www.cnblogs.com/Teachertao/p/11204423.html
Copyright © 2011-2022 走看看