文章目录

  • 前言
  • 一、字符串的一般操作
  • 1.字符串的拼接(四种方式)
  • 2.字符串的切片
  • 二、字符串的函数操作
  • 1.查找计算函数(len、find、rfind、 index、 rindex、count)
  • 2.转换函数(replace 、capitalize、title 、lower 、upper)
  • 3.填充压缩函数(ljust、 rjust、 center、 lstrip、 rstrip)
  • 4.分割拼接(split 、 partition 、 rpartition 、splitlines 、join)
  • 5.判定(isalpha、 isdigit、 isalnum、 isspace ;startswith 、endswith)
  • 总结

  • 前言

    一般操作包括:拼接和切片。
    函数操作包括:查找计算、转换、填充压缩、分割拼接、判定。

    一、字符串的一般操作

    字符串的一般操作包括字符串的拼接、切片操作。

    1.字符串的拼接(四种方式)

    字符串的拼接大概有四种方式:

    1. 方式一:str1 + str2;
    print('zhangsan'+'lisi')
    # output:'zhangsanlisi'
    
    1. 方式二:直接把两个字符串放一块;
    print('zhangsan''lisi')
    # output:'zhangsanlisi'
    
    1. 方式三:“xxx%sXXX" %(‘sky’);
    print('xxx%sXXX'%('sky'))
    # output: xxxskyXXX
    
    1. 方式四: 字符串乘法;
    print('abc'*10)
    # output:abcabcabcabcabcabcabcabcabcabc
    

    2.字符串的切片

    目的:获取一个字符串的某个片段。

    1. name[起始:结束:步长]
    2. 注意:
      获取范围: 起始包含,结束不包含;
      默认值:
      起始默认为零,结束默认为len(name),即整个字符传的长度;
      步长默认值为1;
    3. 获取顺序:
      步长>0 :从左到右;
      步长<0 :从右往左;
      (注意:不能从头部跳到尾部,或者从尾部跳到头部)
    4. 特殊案例:反转字符串
    #反转字符串:
    name='helloworld'
    print(name[::-1])
    # output : dlrowolleh
    

    二、字符串的函数操作

    字符串的函数操作可以分为以下类别:查找计算函数、转换函数、填充压缩函数、分割拼接函数、判定函数。

    1.查找计算函数(len、find、rfind、 index、 rindex、count)

    字符串的函数操作——查找计算。包括函数:len、find、rfind、 index、 rindex、count。
    其中,len是内建函数,可以直接使用;其他的属于对象方法,需要 对象.方法(参数)。

    ## 字符串的函数操作————查找计算
    '''len find rfind index rindex count'''
    
    name='wo shi sky'
    
    # len函数---------------------------------------------------------------------------------
    len(name)
    """
    作用:计算字符串的个数
    返回值:
          整型
          字符串的个数
    """
    
    # find函数--------------------------------------------------------------------------------
    num=name.find("s",3,9)
    print(num)
    # output :3
    """
    作用:查找子串索引(下标)的位置
    语法:find("sub",start=0 ,end=len(str))
    参数:
    	参数一:sub 需要检索的字符串
    	参数二:开始查找的起始位置(包括),默认为0
    	参数三:结束查找的位置,不包括结束索引,默认为len(str)
    返回值:
    	if找到: 指定索引、整型
    	if未找到: -1
    """
    
    # rfind--------------------------------------------------------------------------------
    num1=name.rfind("sub",3,9)
    print(num1)
    # output :-1
    """
    作用用法同find
    区别:
    从右往左进行查找
    """
    
    # index--------------------------------------------------------------------------------
    num2=name.index('s',1,9)
    print(num2)
    # output :3
    """
    作用:查找子串的索引位置
    语法:num= 对象.index('sub',start: 0, end:len(str))
    参数:
    	sub表示要查找的子字符串
        start起始查找位置
        end结束查找的位置
    返回值:
          if找到了:
          指定索引、整型
          if未找到:
          异常
    注意:从左向右进行查找,找到即停止
    """
    
    # rindex--------------------------------------------------------------------------------
    num3=name.rindex('s',1,9)
    print(num3)
    """
    作用:同index
    区别:从右向左查找
    """
    # output :7
    # count--------------------------------------------------------------------------------
    num4=name.count('s',1,9)
    print(num4)
    # output :2
    """
    作用:计算子字符串出现的次数
    语法:num= 对象.count('sub',start: 0, end:len(str))
    参数:
    	sub表示要查找的子字符串
        start起始查找位置
        end结束查找的位置
    返回值:
          子字符串出现的个数
          整型
    """
    

    2.转换函数(replace 、capitalize、title 、lower 、upper)

    字符串的函数操作——转换。函数包括:replace 、capitalize、title 、lower 、upper 。
    上述方法都不改变原有字符串,使用时 对象.函数名。
    ‘’’

    '''
    replace 替换字符串片段;
    capitalize  句子首字母大写
    title 每个单词的首字母大写
    lower 全部小写
    upper 全部大写
    
    上述方法都不改变原有字符串,使用时 对象.函数名
    '''
    
    # replace--------------------------------------------------------------------------------
    '''
    作用 使用给定的新字符串 替代 指定的旧字符串
    语法 replace(old,new[,count])  中括号代表可选的意思
         其中,count表示被替换的个数,如果省略,表示全部替换
    
    返回值 替换后的原始字符串
    注意   不会改变源字符串本身
    '''
    name = "wo shi sky"
    print(name.replace('s','t',1))
    #output: wo thi sky
    print(name)
    #output: wo shi sky
    
    # capitalize--------------------------------------------------------------------------------
    '''
    作用 将字符串的首字母大写
    语法 capitalize()
    参数 无
    返回值 新字符串
    注意 不会改变源字符串本身
    '''
    print(name.capitalize())
    # output: Wo shi sky
    
    # title--------------------------------------------------------------------------------
    '''
    作用 将字符串每个单词的首字母变成大写 
    语法 title()
    参数 无
    返回值 新字符串
    注意 不会改变原字符串本身
    '''
    sentence = 'hhH wo shuo ni xiao&shen*m%n ?'
    print(sentence.title())
    # output: Hhh Wo Shuo Ni Xiao&Shen*M%N ?
    print(sentence)
    
    #lower upper--------------------------------------------------------------------------------
    '''
    作用 字符串的每个字符都变小写;字符串的每个字符都变大写
    语法 lower()  upper()
    参数 无
    返回值 新字符串
    注意 不会改变原字符串
     
    '''
    print(sentence.upper())
    # output:HHH WO SHUO NI XIAO&SHEN*M%N ?
    print(sentence.lower())
    # output: hhh wo shuo ni xiao&shen*m%n ?
    

    3.填充压缩函数(ljust、 rjust、 center、 lstrip、 rstrip)

    字符串的函数操作——填充压缩。函数包括:ljust、 rjust、 center、 lstrip、 rstrip。
    填充函数还可以用于字符串对齐(向左对齐、向右对齐、居中)

    '''ljust rjust center lstrip rstrip'''
    
    #ljust rjust center--------------------------------------------------------------------------------
    '''
    语法 ljust(width,fillchar)
         表示原字符串位于左侧(rjust表示原字符串在右,center表示原字符串在中间)
         
    参数 width 指定结果字符串的长度
         fillchar 当原字符串长度小于width时,填充的字符
         
    输出  结果字符串
    
    注意  不修改原字符串
          填充字符串的长度为1
          只有原字符串长度小于width时,才会进行填充
    '''
    name = 'ninnnn shi lxxxl'
    print(name.ljust(20,'a'))
    print(name.rjust(20,'a'))
    print(name.center(21,'a'))
    #output:
    #ninnnn shi lxxxl****
    #****ninnnn shi lxxxl
    #***ninnnn shi lxxxl**
    
    #lstrip、rstrip 去除左边的指定字符、去除右边的指定字符--------------------------------------------------------------------------------
    '''
    语法  lstrip(char)
          移除左侧的指定字符
    注意,char为两个字符时,分别移除,不是整体移除,直到遇见非char中元素时停止
    '''
    print(name.rstrip('l'))
    #output: 
    #ninnnn shi lxxx
    print(name.lstrip('in'))
    #output:
    # shi lxxxl
    

    4.分割拼接(split 、 partition 、 rpartition 、splitlines 、join)

    字符串的函数操作——分割拼接。函数包括:split 、 partition 、 rpartition 、splitlines 、join。

    '''
    split / partition / rpartition /splitlines /join
    '''
    
    # split-------------------------------------------------------------------------
    sentence = 'wo- shi-jky'
    ExampleSplit=sentence.split('-',1)
    ExampleSplit2 = sentence.split()
    print(ExampleSplit,ExampleSplit2)
    #output:
    #['wo', ' shi-jky'] ['wo-', 'shi-jky']
    '''
    作用:根据文本中指定字符进行分割(可指定次数),返回列表
    参数: 
    	sep(separator分隔符), maxsplit(最大分割次数)
    	sep 指定分隔符,不指定时为各种空格
    	maxsplit 默认-1,无限制; 限制次数,从左往右
    返回:
    	列表,承载 分割后的元素
    注意 不改变原字符串
    '''
    
    #partition ------------------------------------------------------------------------
    ExamplePartition = sentence.partition('-')
    ExampleRpartition = sentence.rpartition('-')
    print(ExamplePartition,ExampleRpartition)
    #output:
    #('wo', '-', ' shi-jky') ('wo- shi', '-', 'jky')
    '''
    参数 : sep,从左往右找
    
    返回值:
    包含三个元素的元组,
    分别为分割符左侧部分、分隔符、分隔符右侧部分
    
    注意 不改变原字符串,
         rpartition从右往左找
    '''
    
    #splitlines-------------------------------------------------------------------------
    infor = 'wo \n shi \r jky'
    ExampleSplitlines = infor.splitlines(True)
    print(ExampleSplitlines)
    # output:
    # ['wo \n', ' shi \r', ' jky']
    '''
    参数:  keppends是bool类型,默认False,即不返回换行符一类
    返回: 根据 行边界 分割的列表
    '''
    
    #join-------------------------------------------------------------------------------
    items = ['wo','shi','sky']
    print('-'.join(items))
    # output:
    # wo-shi-sky
    '''
    作用: 根据指定字符串,对给定的可迭代对象,进行拼接,得到拼接后的字符串
    
    参数: iterable可迭代对象(元组、列表、字符串等,即for可以遍历的)
    
    返回:拼接好的字符串
    '''
    
    

    5.判定(isalpha、 isdigit、 isalnum、 isspace ;startswith 、endswith)

    字符串的函数操作——判定。函数包括:isalpha、 isdigit、 isalnum、 isspace ;startswith 、endswith 。还有常规操作:in、not in。

    '''
    isalpha 		isdigit 	 isalnum 		isspace  
    是否全部是字母 是否全是数字 是否全为字母或数字 是否全是空格(若为空,都为False)
    
    startswith endswith 判断是否以指定字符开头/结尾
    
    in / not in 是否包含指定字符串
    '''
    
    name='2025-01-01:某某报告.doc'
    print(name.startswith('2025',0,4))
    print(name.endswith('doc',16,19))
    print('某某' in name)
    #output:
    #True
    #True
    #True
    

    总结

    以上就是Python字符串一般操作和函数操作。

    字符串的操作很重要,比如爬虫数据的清洗过滤过程,实质上就是在对字符串进行各种操作。具体的用法不需要一开始就全部记的清清楚楚,大概了解有哪些功能和作用,在实践中遇到时能够快速的从中找到具体正确的用法即可。

    作者:咕嘟咕嘟~

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python-字符串函数详记

    发表回复