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

    python中的字符串,只要是被单引号或是双引号所 括起来的,就都是字符串。

    字符串是一种不可变的数据类型,对字符串进行的任何操作,都不会改变原字符串,而是新生成一个新的字符串。

    一. 字符串的切片

    字符串中的每一个元素,都可以通过切片来一一取出来。而切片的主要意义就是通过切片,对字符串进行一些处理,从而获得我们需要的数据。

    切片的操作

    对字符串进行切片,通常需要传递两个参数:起始的下标,和结束的下标。而对字符串进行切片时,还有第三个参数,这个参数代表着步长,这个参数可选参数,如果不填,那么就是默认的步长为。

    切片的一般写法是:str[0:2],这表示从字符串str中取出下标从0到2的字符。

    字符串切片的注意事项:

    1. 字符串切片,遵循一个原则:就是切片的时候,取头不取尾;
    2. 如果起始下标 没有写,那么就是从下标为0的字符,一直截取到结束下标为止;
    3. 如果结束下标不填,那就是从开始下标一直截取到字符串的末尾;
    4. 字符串的截取,如果是正序截取,那么下标是从0开始计算;但如果是倒序截取,那么下标就是从-1开始计算;
    5. 如果是倒序截取字符串,那么截取时,步长必须要填,且此时的步长是负数。
    my_hobby = "Never stop learning!"
    # 5. 截取从 位置2 ~ 位置6 的字符串
    print(my_hobby[2:7])
    
    # 6. 截取从 位置2 ~ 末尾 的字符串
    print(my_hobby[2:])
    
    # 7. 截取从 开始位置~ 位置6 的字符串
    print(my_hobby[:7])
    
    # 8.截取完整的字符串
    print(my_hobby[::])
    
    # 9. 从 索引3 开始,每2个字符中取一个字符
    print(my_hobby[3::2])
    
    # 10. 截取字符串末尾两个字符
    print(my_hobby[int(len(my_hobby)) - 2:])
    
    # 11. 字符串的倒序
    print(my_hobby[::-1])
    

    二. 字符串的常用方法

    capitalize():
        首字母大写。
        s = "china"   
        s1 = s.capitalize()
        print(s1)   # China
    
    
    lower():
        字符串中的大写英文变为小写。
        s = "chinA"
        s2 = s.lower()
        print(s2) # china 
        
    
    upper():
        字符串中的小写英文变为大写.
        s = "chinA"    
        s3 = s.upper()
        print(s3) # CHINA
    
    
    title():
        每个单词的首字母大写。
        s = "chinA is a strong country"
        s5 = s.title()
        print("s5=",s5) # s5= China Is A Strong Country
        
    
    swapcase():
        大小写互换s
        s = "  chinA"
        s3 = s.upper()  
        print(s3) # CHINa
    
    
    strip():
        去除字符串中的空格(默认去掉两边的空白,包括空格、	、
    )
        也可以去除给定的内容。
        s = "  chinA"
        s6 = s.strip() # 默认去掉两边的空白(包括空格、	、
    ),
        print("s6=",s6) # chinA
        
        # 同样可以给定要去掉的内容
        s = "hello"
        print(s.strip("h"))     # ello
        
    
    replace("字符串中原有的值","要替换的值"[,arg]):
        替换。
        参数解析:
            第一个参数表示字符串中原有的字符,也就是将要被替换掉的数据;
            第二个参数表示将要替换的字符,也就是取代字符串中原有字符的数据;
            第三个参数是个可选参数,表示替换的次数,默认是全部替换
        n = "李白,杜甫,苏轼,李清照,陆游"
        print(n.replace("李白","辛弃疾")) # 辛弃疾,杜甫,苏轼,李清照,陆游
        
        注意:
            替换之后的字符串,是一个新的字符串,元字符串没有改变。
    
    
    split():
        从字符串的左边进行分隔。分隔出来的是一个列表。
        参数解析:
            第一个参数表示字符串中将以这个参数进行分隔;
            第二个参数表示分隔几次,是可选参数,默认是全部分隔。
        n1 = "李白_杜甫_苏轼_李清照_陆游"
        print(n1.split("_")) # ['李白', '杜甫', '苏轼', '李清照', '陆游']
    
    
    rsplit():
        类似split(),只不过是从 字符串的右边开始分隔。
    
    
    startswith():
        查找字符串是不是以传递的参数开头。
        n2 = "李白,杜甫,苏轼,李清照,陆游"
        print(n2.startswith("李"))  # True
    
    
    endswith():
        查找字符串是不是以传递的参数而结尾。
        n2 = "李白,杜甫,苏轼,李清照,陆游"
        print(n2.endswith("游"))    # False
    
    
    count():
        计算穿钉的参数在字符串中出现了几次。
        如果在字符串中存在传递的参数,那么返回这个参数在字符串中出现的次数;如果字符串中没有出现传递的参数,那么返回0.
        n3 = "I have a dream.But I want to kill you!!"
        print(n3.count("!")) # 2
    
    
    find():
        查找传递的参数在字符串中的位置。
        如果有则显示这个参数在字符串中的下标;如果没有则返回-1.
        n4 = "I have a dream.But I want to kill you!!"
        print(n4.find("k")) # 29
    
    
    index():
        类似find(),但是如果没有找到元素时,index()函数 会直接报错。
    
    
    isdigit():
        判断字符串是否是有数字组成。
    
    
    isalpha():
        判断字符串是否是有由字母组成。
    
    
    isalnum():
        判断字符串是否是有数字和字母同时组成
    
    
    isnumeric():
        判断字符串是否是由数字组成,这个方法类似isdigit(),但是这个方法可以区分中文中大写数字。
    
    
    seq.join(index):
        以指定的字符,将字符进行拼接。
        一般是将一个列表中的元素进行拼接,但是注意,列表中的元素必须是字符串类型才可以拼接。
        参数解析:
            seq:分隔符,也就是字符串将以这个分隔符进行分隔。
            index:需要被分隔的字符串。
        并且,将 字符串分隔完毕之后,分隔符将不会出现在分隔出来的列表中。
        list = ["今天", "星期五", "明天星期六"]
        s =",".join(list)
        print(s)    # 今天,星期五,明天星期六
    
    
    format():
        格式化。常用来对动态的拼接字符串内容。
        
            age = input("请输入年龄:")
            name = input("请输入姓名:")
            pirnt("我叫{},我今年{}岁了".format(name, age))
        
        还可以指定顺序:
            age = input("请输入年龄:")
            name = input("请输入姓名:")
            pirnt("我叫{0},我今年{1}岁了".format(name, age))
            
            这种情况可以重复使用:
            age = input("请输入年龄:")
            name = input("请输入姓名:")
            pirnt("我叫{0},我今年{1}岁了,{0}".format(name, age))
        
        还可以指定参数:
            age = input("请输入年龄:")
            name = input("请输入姓名:")
            pirnt("我叫{name},我今年{age}岁了".format(name=name, age=age))
    
  • 相关阅读:
    docker学习
    redis哨兵部署
    HUE中一些重要元数据表的DDL整理
    Autosys中ON_HOLD和ON_ICE的区别
    Spark结构化API的执行过程——Logical Plan & Physical Plan
    关于Spark中Columns的引用方法
    关于Spark Dataset API中的Typed transformations和Untyped transformations
    关于Kafka Consumer 与 Partitions
    使用sed根据变量值注释掉文件中相匹配的记录行
    sqoop export to teradata时出现java.lang.NullPointerException
  • 原文地址:https://www.cnblogs.com/Pilaoban/p/13068592.html
Copyright © 2011-2022 走看看