zoukankan      html  css  js  c++  java
  • Python字符串中删除特定字符

    分析

    在Python中,字符串是不可变的。所以无法直接删除字符串之间的特定字符。
    所以想对字符串中字符进行操作的时候,需要将字符串转变为列表,列表是可变的,这样就可以实现对字符串中特定字符的操作。


    1、删除特定字符

    特定字符的删除,思路跟插入字符类似。

    可以分为两类,删除特定位置的字符 或者 删除指定字符

    1.1、删除特定位置的字符

    使用.pop()方法。输入参数,即为要删除的索引。

    string = '公众号:土堆碎念'
    list_str = list(string)
    list_str.pop(1)
    list_str = ''.join(list_str)
    print(list_str)
    

    输出:

    1.2、删除指定字符

    删除指定字符与删除特定位置的区别是:删除指定字符,需要提供指定的字符,和需要删除的最大数目。而删除特定位置的字符,只需要提供删除字符的索引即可。

    1.3、两种实现

    删除的实现,除了像pop方法那种,弹出特定字符的删除,也可以用空字符来替换特定的字符,来实现删除。

    .replace()方法

    replace(...) method of builtins.str instance
    S.replace(old, new[, count]) -> str

    比如,字符串a='公众号公众号:土堆碎念',尝试将其中的字符删除,将字符替换成空字符。

    注意,它返回的是替换后(在这种情况下,是删除字符)的字符,没有改变原始字符串,也就是说,a还是原来那个a。所以如果想使用替换后的字符,需要指定一个变量进行赋值。

    眼尖的你,发现还有一个可选参数,count

    count参数就可以指定要替换几个。我们无意中知道了如何删除指定数目的字符。

    正则表达式

    除了使用Python标准库中的方法,还可以使用re正则表达式库,来实现。

    使用re.sub()方法,这个方法的功能更强大,可以替换特定模式的字符。

    因为模式匹配比较麻烦,所以比较强大。

    sub(pattern, repl, string, count=0, flags=0)

    pattern代表指定的模式,这是强大的原因,如果简单点使用,只指定特定字符,就可以用'特定字符'来表示模式。

    repl代表的是,需要替换成的字符,如果删除,就是替换成空字符。

    string代表的是,需要被替换的字符串。

    count是替换的次数。

    总结

    • 无论是Python字符串自带的.replace()方法,还是re提供的.sub()方法,都是不改变原来的字符串,返回值才是替换的字符串。所以,如果要使用替换的字符串,就需要将返回值赋值给一个变量。
    • 这两种方法,默认都是替换所有的指定字符。

    教程中的Costco,只给你各领域更好的教程,不再为挑选教程而闹心。
    一定要关注哦,以后一秒找教程!!!

  • 相关阅读:
    尽量采用as操作符而不是旧式C风格做强制类型转换
    尽量使用条件属性(Conditional Attribute)而不是#if/#endif预处理
    C#跟踪和调试程序-Debug类使用
    C#使用ConditionalAttribute特性来实现代码调试
    微软认知服务:QnA Maker使用示例
    PHP使用微软认知服务Face API
    微软认知服务识别名人和地标
    基于apache httpclient 调用Face++ API
    认知服务调用如何使用图片的DataURL
    Microsoft Azure Storage Exployer使用指南
  • 原文地址:https://www.cnblogs.com/zhouzhiyao/p/11498907.html
Copyright © 2011-2022 走看看