美文网首页
9、字符串操作

9、字符串操作

作者: 唯老 | 来源:发表于2019-03-05 17:52 被阅读40次

    一、字符串包含

    1、说明

    字符串就是一串字符,是编程语言中表示文本的数据类型

    在Python中可以使用一对双引号或者一对单引号定义一个字符串,但是有些时候会在字符串中相互包含

    虽然可以使用\"\'做字符串的转义,但是实际开发中

    • 如果字符串内容需要使用"双引号,可以使用单引号'定义字符串
    • 如果字符串内容需要使用单引号',可以使用双引号"定义字符串

    2、示例代码

    str1 = "hello python"
    str2 = "你是'王二狗'么"
    str3 = '你是"李小花"么'
    print(str1)
    print(str2)
    print(str3)
    

    二、去掉空格和特殊符号

    1、说明

    用于移除字符串头尾指定的字符(默认为空格或者换行符)或字符序列

    注意:

    方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

    2、语法格式

    1. 去掉两边
      str.strip([chars])
      
    2. 去掉左边
      str.lstrip([chars])
      
    3. 去掉右边
      str.rstrip([chars]) 
      

    3、参数说明

    • chars
      可选参数,默认去掉空格 移除字符串头尾指定的字符序列

    4、返回值

    返回删除 string 字符串末尾的指定字符后生成的新字符串

    5、示例代码

    1. 去掉两边的空格或者换行符,或者指定的
      # 去掉两边空格和换行符
      In [1]: s = " 花开花落 \t \n"
      In [2]: s.strip()
      Out[2]: '花开花落'
      #  去掉两边指定的字符串
      In [3]: s = "abcdef"
      In [4]: s.strip('f')
      Out[4]: 'abcde'   
      
    2. 去掉右边或者左边
      In [1]: s = " 花开花落 \t \n"
      In [7]: s.lstrip()
      Out[7]: '花开花落 \t \n'
      In [8]: s.rstrip()
      Out[8]: ' 花开花落'
      

    三、字符串的分割

    1、说明

    按着指定的分隔符对字符串进行切片

    2、语法格式

    str.split(str="", num=string.count(str)).
    

    3、参数

    • str
      分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
    • num
      分割次数。默认为 -1, 即分隔所有。

    4、返回值

    列表

    5、示例代码

    1. 默认切割
      In [2]: s =  "自古多情空余恨,唯 有 套路 得 人 心"
      In [3]: l = s.split()
      In [4]: l
      Out[4]: ['自古多情空余恨,唯', '有', '套路', '得', '人', '心']
      
    2. 按着指定字符进行分割
      In [6]: s = "玉-树-临-风-美-少-男-,-揽-镜-自-顾-夜-不-眠"
      In [7]: l = s.split('-')
      In [8]: l
      Out[8]: ['玉', '树', '临', '风', '美', '少', '男',  '揽', '镜', '自', '顾', '夜', '不', '眠']
      
    3. 指定分割次数
      In [9]: s = '我/劝/你/善/良'
      In [10]: l = s.split('/',2)
      In [11]: l
      Out[11]: ['我', '劝', '你/善/良']
      

    四、字符串替换

    1、说明

    把字符串中的 旧字符串替换成新字符串,如果指定第三个参数max,则替换不超过 max 次

    2、语法格式

    str.replace(old, new[, count])
    

    3、参数说明

    • old
      必要参数,将被替换的子字符串。
    • new
      必要参数,用于替换old子字符串。
    • count
      可选参数, 替换不超过count 次

    4、返回值

    返回字替换后生成的新字符串

    5、示例代码

    1. 替换字符串
      In [1]: s = "道理我都懂,我就是要作一会"
      In [2]: new_s = s.replace('我', '你')
      In [3]: new_s
      Out[3]: '道理你都懂,你就是要作一会'
      
    2. 替换次数
      In [5]: s = 'abcdefaaa'
      In [6]: new_s = s.replace('a', '-', 3)
      In [7]: new_s
      Out[7]: '-bcdef--a'
      

    五、字符串查找

    1、说明

    检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

    2、语法格式

    find(self, sub, start=None, end=None)
    # 从右边开始查找
    rfind(str, beg=None end=None)
    

    3、参数说明

    • str
      指定检索的字符串
    • beg
      开始索引,默认为0。
    • end
      结束索引,默认为字符串的长度。

    4、返回值

    包含子字符串返回开始的索引值,否则返回-1

    5、实例代码

    1. 基本查找
      In [1]: s = 'Python 了解一下'
      In [2]: i = s.find('y')
      In [3]: i
      Out[3]: 1
      In [4]: s.find('te')
      Out[4]: -1
      





    2. 指定位置查找
      In [5]: i = s.find('y',1,3)
      In [6]: i
      Out[6]: 1
      In [7]: i = s.find('n',1,3)
      In [8]: i
      Out[8]: -1
      In [9]: i = s.find('n',1)
      In [10]: i
      Out[10]: 5
      # 反向查找    
      In [11]: i = s.find('n',1,-5)
      In [12]: i
      Out[12]: 5
      

    六、判断字符串

    1、说明

    判断是否以指定的字符串开始或结束

    2、语法格式

    startswith(prefix, start=None, end=None)
    endswith(prefix, start=None, end=None)
    

    3、参数说明

    • prefix
      指定的字符串。
    • start
      可选参数,默认0,用于设置字符串检测的起始位置。
    • strend
      可选参数,默认末尾(字符串的长度),用于设置字符串检测的结束位置

    4、返回值

    如果检测到字符串则返回True,否则返回False。

    5、实例代码

    1. 示例1
      In [1]: s = '总有刁民想害朕'
      In [2]: b = s.startswith('总有')
      In [3]: b
      Out[3]: True
      





    2. 示例2
      In [1]: s = '人生在世 但求心安!心若安,人世静好'
      In [2]: s.endswith('静好')
      Out[2]: True
      
    3. 示例3
      In [3]: s = 'you can you up  no can no bb'
          # 从索引1位置开始检测
      In [4]: s.startswith('y',1)
      Out[4]: False
      In [5]: s.startswith('c',4,10)
      Out[5]: True    
      

    七、统计次数

    1、说明

    统计字符串里某个字符出现的次数

    2、语法格式

    count(sub[, start[, end]])
    

    3、参数说明

    • sub
      搜索的子字符串
    • start
      字符串开始搜索的位置。默认为0。
    • end
      字符串中结束搜索的位置。默认到末尾。

    4、返回值

    字符串在字符串中出现的次数

    5、实例代码

    1. 示例1
      In [12]:  s = 'you can you up  no can no bb'
      In [13]: s.count('c')
      Out[13]: 2
      In [14]: s.count('you')
      Out[14]: 2
      In [15]: s.count('bb')
      Out[15]: 1
      





    2. 示例2
      In [16]: s.count('bb',-1)
      Out[16]: 0
      In [17]: s.count('you',10,-1)
      Out[17]: 0    
      

    八、字符大小写转化

    1、说明

    字符串中的小写字母转为大写字母或者将字符串的大写转化成小写。中文无效。通常用在对外部输入的字符串转化之后进行比较

    2、语法格式

    upper()
    lower()
    

    4、返回值

    返回小写字母转为大写字母的字符串

    5、实例代码

    1. 小写转大写
      In [18]: s = 'abc'
      In [19]: s.upper()
      Out[19]: 'ABC'
      





    2. 大写转小写
      In [20]: name = 'Wener'
      In [21]: name.lower()
      Out[21]: 'wener'
      

    九、其它

    1、判断

    方法名 返回值 说明
    isalnum() bool 是否全是字母和数字
    isalpha() bool 是否全是数字
    isdigit() bool 是否全是数字
    isspace() bool 是否是空白字符,并至少有一个字符
    islower() bool 字母是否全是小写
    isupper() bool 字母是否全是大写
    istitle() bool 是否是首字母大写的

    相关文章

      网友评论

          本文标题:9、字符串操作

          本文链接:https://www.haomeiwen.com/subject/vhiouqtx.html