• 在 Python 3.9 中删除前缀和后缀的新字符串方法


    Python 3.9 中的新字符串方法

    removeprefix() 与 lstrip()

    删除前缀()

    str.removeprefix(prefix)

    • 如果字符串以前缀字符串开头,则返回;否则,返回原始字符串的副本。string[len(prefix):]
    • 的参数removeprefix()被视为子字符串而不是字符集。

    lstrip()

    str.lstrip([chars])

    • 返回删除了前导字符的字符串的副本。chars参数是一个字符串,指定要删除的字符集。chars 参数不是前缀,而是其值的所有组合都被剥离-Python docs

    删除后缀()与 rstrip()

    删除后缀()

    str.removesuffix(suffix)

    • 如果字符串以后缀字符串结尾并且该后缀不为空,则返回string[:-len(suffix)]。否则,返回原始字符串的副本:
    • removesuffix() 的参数被视为子字符串而不是字符集。

    rstrip()

    str.rstrip([chars])

    返回删除了尾随字符的字符串副本。参数是一个字符串,chars 指定要删除的字符集。如果省略 or None,则chars参数默认删除空格。参数不是后缀;相反,它的值的所有组合都被剥离了。

    Python 3.9 之前删除前缀和后缀的不同方法

    1. 使用 re.sub()
      删除后缀
    导入re
    模式= r"abc$"
     s1= "abcPYTHONacbcabc"
     s2=re.sub(pattern, "" ,s)1 
    print (s2) 
    #Output:abcPYTHONacbc
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    pattern=r”abc$” → 检查字符串是否以“abc”
    $→ 结尾,表示字符串的结尾。

    s2=re.sub(pattern,””,s1)→ 如果模式匹配,它将用空字符串替换子字符串。

    删除前缀

    导入re
    模式= r"^abc"
     s1= "abcbcPYTHONabc"
     s2=re.sub(pattern, "" ,s1) 
    print (s2) 
    #Output:bcPYTHONabc
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    pattern=r”^abc” → 检查字符串是否以 “abc”

    ^→ 表示字符串的开头

    1. 使用 str.startswith()
    s1 = "abcbcacPythonacbcabc" 
    if (s1.startswith( "abc" )): 
        print (s1.replace( "abc" , "" ,1)) 
        
    #输出:bcacPythonacbcabc
    
    • 1
    • 2
    • 3
    • 4
    • 5

    如果字符串以 开头,“abc”则表示它将用“”(空字符串)替换该子字符串
    count = 1 表示仅提到的该子字符串的一次出现被空字符串替换。

    1. 使用 str.endswith()
    s2 = "Pythonacbcabc" 
    if (s2.endswith( "abc" )): 
        print (s2[:-3]) 
    
    #Output:Pythonacbc
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    STM32一
    linux安装mysql
    动手学习深度学习 01:前言
    【ARM Trace32(劳特巴赫) 使用介绍 2 -- Trace32 cmm 脚本基本语法及常用命令】
    HTTP 报文详解
    学习笔记-php代理审计_可能被利用的函数
    python中math模块
    Hash表_拉链法_开放寻址法_模拟散列表
    Bert的pooler_output是什么?
    那些你必须要知道的程序员接单平台
  • 原文地址:https://blog.csdn.net/ekcchina/article/details/125560042