• Python-字符串常见操作


    下面定义字符串s=“I want to study every day,day day up ”,以s为例,学习字符串常见的操作(字符串方法)

    1.find()方法

    定义:find()方法用于检测字符串中是否包含子字符串str。如果指定beg(开始)和end(结束)范围,就检查是否包含在指定范围内。如果包含子字符串,就返回开始的索引值;否则返回-1。

    格式:string.find(str, start=0, end=len(string))

    说明:str:要查找的字符串,start:开始的位置,end:结束的位置

    类似:rfind,从字符串右边开始查找

    注意:字符串的find方法返回的不是布尔值。如果返回0,就表示在索引0处找到了子字符串。

    例如:

    s = "I want to study every day,day day up"
    print(s.find('I'))
    print(s.find('day'))
    print(s.find('good'))
    print(s.find('ev',10,21))
    

    运行结果:

    0
    22
    -1
    16
    

    2.join()方法

    定义:join()方法用于将序列中的元素以指定字符连接成一个新字符串。

    格式:string.join(sequence)

    说明:sequence代表要连接的元素序列

    注意:进行join操作时,调用和被调用的对象都必须是字符串,任意一个不是字符串都会报错。

    例如:

    s1 = ['1','2','3','4','5']
    mark = "+"
    print(mark.join(s1))
    

    运行结果:

    1+2+3+4+5
    

    3.lower()方法

    定义:lower()方法用于将字符串中所有大写字符转换为小写。

    格式:string.lower()

    说明:string代表指定检索的字符串,该方法不需要参数。返回结果为字符串中所有大写字符转换为小写后生成的字符串。

    例如:

    print(s.lower())
    

    运行结果:

    i want to study every day,day day up
    

    4.upper()方法

    定义:upper()方法用于将字符串中的小写字母转换为大写字母。

    格式:string.upper()

    说明:string代表指定检索的字符串,该方法不需要参数。返回结果为小写字母转换为大写字母的字符串。

    例如:

    print(s.upper())
    

    运行结果:

    I WANT TO STUDY EVERY DAY,DAY DAY UP
    

    5.swapcase()方法

    定义:swapcase()方法用于对字符串的大小写字母进行转换,将字符串中的大写字母转换为小写、小写字母转换为大写。

    格式:string.swapcase()

    说明:string代表指定检索的字符串,该方法不需要参数。返回结果为大小写字母转换后生成的新字符串。

    例如:

    print(s.swapcase())
    

    运行结果:

    i WANT TO STUDY EVERY DAY,DAY DAY UP
    

    6.replace()方法

    定义:replace()方法把字符串中的old(旧字符串)替换成new(新字符串),如果指定第3个参数max,替换次数就不超过max次。

    格式:string.replace(old, new,[max])

    说明:string代表指定检索的字符串;old代表将被替换的子字符串;new代表新字符串,用于替换old子字符串;max代表可选字符串,替换次数不超过max次。返回结果为字符串中的old(旧字符串)替换成new(新字符串)后生成的新字符串,如果指定第3个参数max,替换次数就不超过max次。

    例如:

    print(s.replace('day','month'))
    print(s.replace('day','month',1))
    print(s.replace('day','month',2))
    print(s.replace('day','month',3))
    

    运行结果:

    I want to study every month,month month up
    I want to study every month,day day up
    I want to study every month,month day up
    I want to study every month,month month up
    

    7.split()方法

    定义:split()方法通过指定分隔符对字符串进行切片,如果参数num有指定值,就只分隔num个子字符串。这是一个非常重要的字符串方法,是join的逆方法,用来将字符串分割成序列。

    格式:string.split(st="", num=string.count(str))

    说明:string代表指定检索的字符串;st代表分隔符,默认为空格;num代表分割次数。返回结果为分割后的字符串列表。如果不提供分隔符,程序就会把所有空格作为分割符。操作中可以指定分隔符和分割次数,若指定分割次数,则从左往右检索和分隔符匹配的字符,分割次数不超过指定次数;若不指定分割次数,则所有匹配的字符都会被分割。

    例如:

    print(s.split())
    print(s.split('t'))
    print(s.split('a'))
    print(s.split('a',1))
    

    运行结果:

    ['I', 'want', 'to', 'study', 'every', 'day,day', 'day', 'up']
    ['I wan', ' ', 'o s', 'udy every day,day day up']
    ['I w', 'nt to study every d', 'y,d', 'y d', 'y up']
    ['I w', 'nt to study every day,day day up']
    

    8.strip()方法

    定义:strip()方法用于移除字符串头尾指定的字符(默认为空格)。

    格式:string.strip([chars])

    说明:string代表指定检索的字符串;chars代表移除字符串头尾指定的字符。返回结果为移除字符串头尾指定的字符生成的新字符串。

    类似:lstrip,删除字符串左边字符;rstrip,删除字符串右边的字符

    注意:strip方法只去除头尾匹配的字符,中间匹配的字符不会去除。

    例如:

    s2 = "---good-good-study---"
    print(s2.strip('-'))
    

    运行结果:

    good-good-study
    

    9.translate()方法

    定义:translate()方法根据参数table给出的表(包含256个字符)转换字符串的字符,将要过滤掉的字符放到del参数中。

    格式:string.translate(table,[deletechars])

    说明:string代表指定检索的字符串;table代表翻译表,翻译表通过maketrans方法转换而来;deletechars代表字符串中要过滤的字符列表。返回结果为翻译后的字符串。

    例如:

    intab = "adefs"
    outtab ="12345"
    transtab = str.maketrans(intab,outtab)
    s3 = "just do it"
    print(s3.translate(transtab))
    

    运行如下:

    ju5t 2o it
    

    由输出结果看到,有几个字符被替换成数字了,被替换的字符既在intab变量中,又在st变量中,如图4-1所示。对于既在intab中,又在st中的字符,使用outtab中对应的字符替换。由图4-1可知,intab中的字符d对应outtab中的字符2、字符s对应字符5,所以最后输出字符串中的s被替换成5、d被替换成2,这样就得到了最后我们看到的字符串ju5t 2o it。

  • 相关阅读:
    构建TensorFlow数据流图
    Python小练习:复制操作
    Python小练习:列表的相关操作
    【Jave】接入极光推送 ------- 封装极光推送工具类
    jenkins邮件-使用变量定制化html邮件报告
    十六进制的颜色转变为rgb,设置透明度,通用方法
    一. Go微服务--隔离设计
    7.23 学习笔记
    7.22 学习笔记
    8.28正睿CSP七连测day1
  • 原文地址:https://www.cnblogs.com/bug132294/p/12732015.html
Copyright © 2020-2023  润新知