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, '-'))

  • 相关阅读:
    mysql 远程登陆不上
    hdu 5339 Untitled【搜索】
    SqlServer 书目
    passwordauthentication yes
    oracle 11g RAC ocfs2
    Oracle 11g RAC database on ASM, ACFS or OCFS2
    CentOS ips bonding
    Oracle 11g RAC features
    openStack 王者归来之 trivial matters
    openstack windows 2008 img
  • 原文地址:https://www.cnblogs.com/Teachertao/p/11204423.html
Copyright © 2011-2022 走看看