zoukankan      html  css  js  c++  java
  • Python 字符的替换

    python 字符串转列表,列表转字符串,字符串替换

     

    突然想把python基础再巩固巩固,所以写博客来记录一下,哪里不对,欢迎指正,下为正文。

    1. 关于字符串: 字符串是不可变序列,拆分字符串是在拷贝的字符串上进行的,并不会改变原有序列

    拆分字符串

      split方法:此方法可以接收两个参数,第一个参数是分隔符,默认是所有的空字符,包括 空格,换行 制表符等,拆分过程中会消耗分隔符,所以,拆分结果不包含分隔符。第二个参数 是一个数字,默认缺省 缺省时全分割,也可以用 maxsplit 来指定分割次数。

    例如:

    定义字符串:

    s = 'Hello world'
    l = """Hi there , my name is blankdog
    do you like me """
    #不传参数时,默认分隔符为所有空字符
    split_nopam = s.split()
    print(split_nopam)
    #一个空格
    split_pam = s.split(' ')
    print(split_pam)
    #两个空格
    split_pam1 = s.split('  ')
    print(split_pam1)
    #使用world为分隔符,会看到,split会消耗掉分隔符,而不显示
    split_pam2 = s.split('world')
    print(split_pam2)
    #空字符包含,空格,,多个空格,换行符等
    l_split = l.split()
    print(l_split)

    split方法的第二个参数,指定分割次数,直接在第一个参数后面加一个数字(按位置传参),或者使用 maxsplit=num 来指定

    #根据空格分割三段(按位置传参)
    l_split_1 = l.split(' ',3)
    print(l_split_1)
    #根据空格分割三段(按位置传参)
    l_split_1 = l.split(' ',3)
    print(l_split_1)
    #指定参数
    l_split_2 = l.split(maxsplit=3)
    print(l_split_2)
    #错误用法,不按位置传参,直接传递分割几次数字参数
    l.split(3)

    split()方法是从左往右遍历,与之相对的是,rsplit()方法,从右往左便利,比较少用,会有奇效

    l_split_3 = l.rsplit(maxsplit=2)
    print(l_split_3)

    拆分字符串还有一种方法, splitlines() 这个方法按照行来拆分字符串(默认分隔符 按照行(' ', ' ', ')分隔),接受一个参数,True,或者 False,分别决定换行符是否被保留,默认为False,即不保留换行符

    复制代码
    #保留换行符
    s1 = """ab c 
    d e f 
    gh
    """
    splitlines_True = s1.splitlines(True)
    print(splitlines_True)
    复制代码
    复制代码
    #不保留换行符
    s2 = """ab c 
    d e f 
    gh
    """
    splitlines_True = s2.splitlines(False)
    print(splitlines_True)
    复制代码

    列表转字符串

         join() 方法可以将列表链接为字符串

    s_list = ['Hi','my','name','is','blank','dog']
    #链接为以空格为分隔符 的字符串
    print( ' '.join(s_list) )
    #链接为以下划线为分隔符的字符串
    print( '_'.join(s_list) )

    2. 替换字符串 替换字符串的场景如下:大小写替换,特定字符转换,自定义片段替换.... 

    复制代码
    #首个字母替换为大写
    rep_s = 'hello world'
    rep_res = rep_s.capitalize()
    print(rep_res)
    #所有单词首字母变为大写
    rep_res1 = rep_s.title()
    print(rep_res1)
    #所有小写字母转换为大写
    rep_res2 = rep_s.upper()
    print(rep_res2)
    #所有大写写字母转换为小写
    rep_s1 = 'HELLO WORLD'
    rep_res3 = rep_s1.lower()
    print(rep_res3)
    #所有大写替换为小写,小写替换为大写
    rep_s2 = 'Hello World'
    rep_res4 = rep_s2.swapcase()
    print(rep_res4)
    #所有tab建转换为空格,tab建默认空格数是8
    rep_s3 = "Hello    World"
    rep_res5 = rep_s3.expandtabs(tabsize=4)
    print(rep_s3)
    复制代码
    #替换字符串
    rep_s4 = 'Hi World'
    rep_res6 = rep_s4.replace('Hi','Hello')
    print(rep_res6)
    #替换字符串,可以指定替换次数
    rep_s5 = 'Hi World Hi World Hi World'
    rep_res7 = rep_s5.replace('Hi','Hello',2)
    print(rep_res7)
    复制代码
    #字符串开头空格,或者指定字符替换为空
    rep_s6 = ' hello world'
    rep_res8 = rep_s6.lstrip('h')
    print(rep_res8)
    #指定字符为空
    rep_s6 = 'hello world'
    rep_res8 = rep_s6.lstrip('h')
    print(rep_res8)
    #指定字符为空
    rep_s6 = 'hello world'
    rep_res8 = rep_s6.lstrip('h')
    print(rep_res8)
    #字符串末尾空格,或者指定字符替换为空
    rep_s7 = 'hello world '
    rep_res9 = rep_s7.lstrip()
    print(rep_res9)
    #字符串首位空格替换,或者指定字符替换
    rep_s8 = ' hello world '
    rep_res10 = rep_s8.strip()
    print(rep_res10)
    #删除首末位置的指定字符串
    rep_s9 = '************hello world**********'
    rep_res11 = rep_s9.strip('*')
    print(rep_res11)

    以上,为所学习关于字符串处理的基础,其他几种方式后续再来补充。

  • 相关阅读:
    AES算法加解密Java工具类AESUtil
    并发与高并发(二十二)高并发の服务降级与服务熔断思路
    并发与高并发(二十一) 高并发の应用限流思路
    并发与高并发(二十)高并发の应用拆分思路
    da5_模块
    day5_集合
    day5_递归调用
    day5_判断价格输入是否是正整数或正小数
    day5_函数_判断小数
    day5_函数_文件读写_用一个函数来满足文件的读或者写_应用默认参数
  • 原文地址:https://www.cnblogs.com/tonyxiao/p/14378014.html
Copyright © 2011-2022 走看看