zoukankan      html  css  js  c++  java
  • python字符串常用操作方法

    python字符串常用操作方法

    首先强调一下:字符串属于不可变数据类型,也就是说python创建一个字符串后,你不能把这个字符串的某一部分改变,任何上面的函数改变了字符串后,都会返回一个新的字符串,源字符串并没有改变。

    下面总结一下python字符串常用操作,如字符串的替换,删除,切片截取、复制、连接、比较、查找、分割、与列表的相互转换,倒置,排序,,判断等。

    1、替换str.replace(str1,str2,num) 用str2替换掉str1 num是次数,默认从左往右

    str_1 = "Welcome to python ha ha"
    str_2 = str_1.replace('ha', 'Hi', 1).replace('to', 'using')
    print(str_2)  
    >>>"Welcome using python Hi ha"
    print(str_1)
    >>>"Welcome to python ha ha"  #  原字符串的值不变  字符串属于不可变类型数据
    

    2、删除

    • str.strip(str1) 删除字符串两边的指定字符,括号的写入指定字符,默认为空格
    • str.lstrip(str1) 删除字符串左边的指定自字符
    • str.rstrip(str2) 删除字符串右侧指定字符,默认空格
    str_1 = '  hello  '
    str_2 = str_1.strip()
    print(str_2) 
    >>> 'hello'
    str_3 = str_1.lstrip()
    print(str_3) 
    >>>'  hello'
    

    3、切片截取str[:]

    4、复制

    str_1 = 'mjy'
    str_2 = str_1
    print(str_2) 
    >>> mjy 
    

    5、连接 +

    str_1 = 'hello'
    str_2 = 'girl'
    str_3 = str_1 +str2
    print(str_3)
    >>> 'hello girl'
    

    6、比较cmp(X, Y)

    提示:python3已经没有该方法
    比较两个对象,并根据结果返回一个整数。X< Y,返回值是负数 ,X>Y 返回的值为正数

    #python2
    cmd(2, 1)
    >>>1
    cmd(1, 2)
    >>>-1
    
    #python3  没有cmd()方法,只能用>和<进行比较(可对字符串进行比较)
    cmd(2, 1)
    >>>"name 'cmd'  is not defined" 
    

    7、查找

    • str.find() str.index()功能相同,区别在于find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。
    • str.index:检测字符串中是否包含子字符串str,可指定范围,查找失败会报错
    • 另外还有 str.rfind(str1, start, end)/str.rindex() 从尾部开始查找
    str_1 = 'hello world'
    str_1.index('l')
    >>>2
    
    #str.find:检测字符串中是否包含子字符串str,可指定范围
    str_1 = 'hello world'
    str_1.find('l')
    >>>2
    str_1.find('x')
    >>>-1
    

    8、分割

    • str.split(str1)根据指定子字符串对字符串进行分割 默认根据空格对字符串进行分割,结果是列表
    • str,partition(str1) 把str以str1分割成三部分,str1前,str1和str1后
    • str.rpartition(str1) 类似于 partition()函数,不过是从右边开始.
    • str.splitlines() 按照行分隔,返回一个包含各行作为元素的列表
    # str.split()
    str_1 = 'hello, girl'
    res = str_1.split(',')
    print(res)     # 结果是列表
    >>>['hello', 'girl']
    
    # str.partition()
    str = 'hello girl and girlbeautiful'
    >>> str.partition('girl')
    ('hello ', 'girl', ' and girlbeautiful')
    >>> str.rpartition('girl')
    ('hello girl and ', 'girl', 'beautiful')
    >>> str
    'hello girl and girlbeautiful'
    
    # str.splitlines()
    str_1 = 'hello
    world'
    >>> str_1.splitlines()
    ['hello', 'world']
    

    9、与列表相互转换

    # 把列表中的元素以指定的字符连接成字符串
    res = ['hello', 'girl']
    str_1 = ('@').jion(res)
    print(str_1)
    >>>'hello@girl'  # 拼接的字符串结果
    
    str_2 =  (',').join(res)
    print(str_2)
    >>>'hello,girl'
    

    10 倒置

    利用切片实现 str[::-1] 生成新的字符串

    str_1 = 'hello
    world'
    str_2 = str_1[::-1]
    >>> str_2
    'dlrow
    olleh'
    

    11判断

    • str.isalpha() 如果 str 所有字符都是字母 则返回 True,否则返回 False
    • str.isdigit() 如果 str 只包含数字则返回 True 否则返回 False
    • str.isalnum()如果 str 所有字符都是字母或数字则返回 True,否则返回 False
    • str.isspace() 如果 str 中只包含空格,则返回 True,否则返回 False.
    • str.islower() 如果 str 中字母是否全是小写,则返回 True,否则返回 False.
    • str.isupper() 如果 str 中字母是否全是大写,则返回 True,否则返回 False.
    • str.istitle() 字符串中每个单词的首字母大写
    • str.startwith('str1') 判断是否以str1开头
    • str.endwith('str1') 判断结尾

    12 其他函数

    • str.upper() 把字符串全部转化成大写字母
    • str.lower() 把字符串字母全部小写化
    • str.count(str1) 合计子字符串str1出现的总次数
    • str.capitalize() 把字符串的首字母大写 其他小写
    • str.title() 把字符串的每个单词首字母大写
    • str.ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
    • str.rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
    • str.center(width) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

  • 相关阅读:
    Eclipse配置Maven详细教程
    Spring MVC 搭建web项目示例
    C# Action 和Func
    C# params 用法简介
    WPF绘图性能问题
    C# EventWaitHandle用法
    C#5.0 异步编程async/await用法
    通过Struts2Web应用框架深入理解MVC
    Java过滤器—Filter用法简介
    WPF内嵌CEF控件,与JS交互
  • 原文地址:https://www.cnblogs.com/We612/p/11117912.html
Copyright © 2011-2022 走看看