精华内容
下载资源
问答
  • Python字符串替换三个问题
    2021-04-27 04:30:42

    今天上网看到有人贴出来一个Python中字符串替换的函数replace_words。大意是随便一个txt文件,用Python读取之后,可以用自定义的dictionary,把所有的key替换成value.

    def replace_words(text, word_dic):

    yo = re.compile('|'.join(map(re.escape, word_dic)))

    def translate(mat):

    return word_dic[mat.group(0)]

    return yo.sub(translate, text)

    我试了一下,还挺好用的。

    my_dic = {'Colour':'Color', 'Centre':'Center'}

    text_2 = replace_words(text_1, my_dic)

    结果文件text_1里所有的Colour和Centre都被替换了。

    但是这个毕竟是网上看来的,有几个地方不太明白,请教一下:

    问题一,第2行的'|'.join(map(re.escape, word_dic)),先用escape对字符串中的非字母数字进行转义,然后为什么要用'|'把我的dic这么一个字典连起来?字符可以取“或”,字典可以“或”么?

    问题二,第4行的word_dic[mat.group(0)],直接写成word_dic[mat]不好么?

    问题三,第5行的yo.sub(translate, text),这个是最费解的…… re.sub很好理解,但是这个是re.compile.sub,而且是用text这样一个read()出来的文本、去替换translate这样一个空函数?字符替换函数?

    网上随手找的这么一个函数,因为我水平有限还请大家多指点。谢谢!

    问题一,第2行的'|'.join(map(re.escape, word_dic)),先用escape对字符串中的非字母数字进行转义,然后为什么要用'|'把我的dic这么一个字典连起来?字符可以取“或”,字典可以“或”么?map(re.escape, word_dic) 等价于 map(re.escape, word.dic.keys())

    # 返回 一个有所以字典key 的 list

    '|'.join(_that_list__) #把所有的key 用 | 连起来

    # 返回 Colour|Centre

    '|' 在正则表达式里就是 ’或‘的意思

    问题二,第4行的word_dic[mat.group(0)],直接写成word_dic[mat]不好么?不可以。

    mat 是个正则表达式search text 之后返回 Match 对象, 这个对象不是字典里的key , word_dic的key是string

    问题三,第5行的yo.sub(translate, text),这个是最费解的…… re.sub很好理解,但是这个是re.compile.sub,而且是用text这样一个read()出来的文本、去替换translate这样一个空函数?字符替换函数?re.compile.sub --> 会搜索text中 'Colour|Centre'(Colour 或 Center) 一旦找到了match 就调用translate函数进行转化 Colour 就会被转化成 word_dic['Colour']也就是 'Color'

    玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19088.html

    相关文章 Recommend

    更多相关内容
  • python 字符串替换python 操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法。 python 字符串替换可以用2种方法实现: 1是用字符串本身的方法。 2用正则来替换字符串 下面用个例子来实验下: a = ...
  • 主要介绍了python字符串替换第一个字符串的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 本文实例讲述了Python字符串替换的方法。分享给大家供大家参考。具体如下: 单个字符替换 s = 'abcd' a = [a, b, c] b = [c, d, e] import string s.translate(string.maketrans(''.join(a),''.join(b))) print s ...
  • python字符串替换

    千次阅读 2021-08-18 16:35:43
    返回字符串中的 old(旧字符串替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。 示例 upcallbackfunstr = "\ char *func(char *oldpayload)\n\ {\n\ #define PAYLOAD_SIZE

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

    参数
    old – 将被替换的子字符串。
    new – 新字符串,用于替换old子字符串。
    max – 可选字符串, 替换不超过 max 次
    返回值
    返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。

    示例

    upcallbackfunstr = "\
    char *func(char *oldpayload)\n\
    {\n\
        #define PAYLOAD_SIZE 100\n\
        char *payload = NULL;\n\n\
    \
        if(oldpayload != NULL)\n\
            free(oldpayload);\n\
        payload = (char *)malloc(PAYLOAD_SIZE);\n\
        memset(payload, 0, PAYLOAD_SIZE);\n\
        sprintf(payload, datanode, dataname);\n\
        return payload;\n\
    }\n\n"
    print(upcallbackfunstr)
    str1 = upcallbackfunstr.replace("datanode", "%s")
    str2 = str1.replace("dataname", "hello")
    print(str2)
    

    在这里插入图片描述

    展开全文
  • Python字符串替换

    2021-04-27 04:30:44
    Python字符串替换Python字符串替换教程在Python replace()函数详解定义replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数 max,则替换不超过 max 次。语法str.replace(old, new[,...

    Python字符串替换

    Python字符串替换教程

    Python replace()函数详解

    定义

    replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数 max,则替换不超过 max 次。

    语法

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

    参数

    参数

    描述

    str

    需要替换的原字符串。

    old

    将被替换的子字符串。

    new

    新字符串,用于替换 old 子字符串。

    max

    可选字符串, 替换不超过 max 次。

    返回值

    返回替换后的字符串。

    案例

    替换字符串

    使用 replace() 函数,实现字符串全部替换

    print("嗨客网(www.haicoder.net)")

    # 使用 strip() 函数,去除字符串的指定字符

    strHaicoder = 'I love python, and study python from haicoder!'

    print("before replace strHaicoder =", strHaicoder)

    strHaicoder = strHaicoder.replace("python", "Golang")

    print("after replace strHaicoder =", strHaicoder)

    程序运行后,控制台输出如下:

    387726be24615db9c4a0c65e7e629895.png

    首先,我们定义了一个字符串类型的

    因为,我们没有指定第三个参数,即替换次数,因此,整个字符串中的所有的 “python” 被替换为了 “Golang”。

    替换字符串

    使用 replace() 函数,实现字符串全部替换

    print("嗨客网(www.haicoder.net)")

    # 使用 strip() 函数,去除字符串的指定字符

    strHaicoder = 'I love python, and study python from haicoder!'

    print("before replace strHaicoder =", strHaicoder)

    strHaicoder = strHaicoder.replace("python", "Golang", 1)

    print("after replace strHaicoder =", strHaicoder)

    程序运行后,控制台输出如下:

    2059fcbb3da325d197dc30fde5e5f691.png

    这次,我们指定了 replace 函数的第三个参数,即,只替换一次,结果,我们发现,整个字符串中的 “python” 只被替换了一次。

    Python字符串替换总结

    在 Python 中,我们需要将一个字符串替换成另一个字符串,使用 replace 函数。Python replace() 函数语法:

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

    展开全文
  • 这篇文章主要介绍了python字符串替换re.sub()实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 re.sub(pattern, repl, string, count=0, flags=0) ...
  • 主要介绍了python同时替换多个字符串方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 在本文中,我们将讨论如何使用replace()方法在Python替换字符串中的子字符串,适合在Linux平台中操作。Python安装参考:在Ubuntu 18.04系统上安装Python 3.8的两种方法。.replace()方法在Python中,字符串表示为不...

    在本文中,我们将讨论如何使用replace()方法在Python中替换字符串中的子字符串,适合在Linux平台中操作。Python安装参考:在Ubuntu 18.04系统上安装Python 3.8的两种方法。

    .replace()方法

    在Python中,字符串表示为不可变的str对象,str类带有许多允许您操作字符串的方法。

    .replace()方法采用以下语法:

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

    1、str-您正在使用的字符串。

    2、old-您要替换的子字符串。

    3、new-替换旧子字符串的子字符串。

    4、maxreplace-可选参数,您要替换的旧子字符串的匹配数,匹配从字符串的开头开始计算。

    该方法返回字符串srt的副本,其中部分或全部旧的子字符串匹配项被新的替换,如果未给出maxreplace,则替换所有出现的事件。

    在下面的示例中,我们将字符串s中的子字符串替换为miles:

    >>> s = 'A long time ago in a galaxy far, far away.'

    >>> s.replace('far', 'miles')

    结果是一个新的字符串:

    'A long time ago in a galaxy miles, miles away.'

    字符串文字通常用单引号引起来,尽管也可以使用双引号。

    当给出可选的maxreplace参数时,它将限制替换匹配项的数量,在以下示例中,我们仅替换第一次出现的情况:

    >>> s = 'My ally is the Force, and a powerful ally it is.'

    >>> s.replace('ally', 'friend', 1)

    结果字符串将如下所示:

    'My friend is the Force, and a powerful ally it is.'

    要删除子字符串,请使用空字符串''代替,例如,要从以下字符串中删除空间,可以使用:

    >>> s = 'That’s no moon. It’s a space station.'

    >>> s.replace('space ', '')

    新的字符串如下所示:

    `That’s no moon. It’s a station.'

    替换字符串列表中的子字符串

    要替换字符串列表中的子字符串,请使用以下语法:

    s.replace('old', 'new') for s in list

    让我们看下面的例子:

    >>> names = ['Anna Grace', 'Betty Grace', 'Emma Grace']

    >>> new_names = [s.replace('Grace', 'Lee') for s in names]

    >>> print(new_names)

    上面的代码创建列表的副本,所有出现的子字符串Grace都被Lee替换:

    ['Anna Lee', 'Betty Lee', 'Emma Lee']

    结论

    用Python编写代码时,替换字符串中的子字符串是最基本的操作之一,按照以上说明操作即可。

    相关主题

    展开全文
  • python字符串替换replace函数

    万次阅读 多人点赞 2019-11-03 11:21:11
    python字符串替换replace函数 replace(old, new, count) old,旧字符或字符串 new,新字符或字符串 count,最大替换数量,从起始位置开始计数,默认替换所有 注意:replace函数替换字符串,不影响原字符串 示例1:...
  • pattern可以是一个字符串也可以是一个正则,用于匹配要替换的字符,如果不写,字符串不做修改。\1 代表第一个分组 repl是将会被替换的值,repl可以是字符串也可以是一个方法。如果是一个字符串,反斜杠会被处理为...
  • 主要介绍了Python字符串拼接、截取及替换方法,结合实例形式总结分析了Python针对字符串的拼接、截取与替换的原理与常见使用技巧,需要的朋友可以参考下
  • s = "{0}-{1},{2}".format("zhang", 2018, 2019) print(s) s = "{name},{year}-{net}".format(name="phil", year=2019, net="blog.csdn.net"...print(s) s = "{name},{0}".format(2019, name="zhangphil") print(s...
  • python字符串替换

    千次阅读 2022-04-01 13:53:57
    方法一: """ ...new -- 新字符串,用于替换old子字符串。 max -- 可选字符串, 替换不超过 max 次 """ temp_str = 'this is a test' print(temp_str.replace(temp_str[2],'aa')) print(temp_str....
  • 个人想到的解决方法有两种,一种是 .replace(' old ',' new ') 第一个参数是需要换掉的内容比如空格,第二个是替换成的内容,可以把字符串中的空格全部替换掉. 第二种方法是像这样 str_1_data = ' a b c ' str_2_...
  • re.sub(pattern,repl,string,count=0,flags=0)pattern可以是一个字符串也可以是一个正则,用于匹配要替换的字符,如果不写,字符串不做修改。\1 代表第一个分组repl是将会被替换的值,repl可以是字符串也可以是一个...
  • 1、python字符串不能直接用索引的方式进行替换,比如 stringA='asdfghj' stringA[2]='1' 会提示语法错误 2、python常规可以通过字符串拼接、或者replace替换的方式组成新的字符串,比如 stringA='asdfghj' ...
  • python 中的字符串替换操作,也就是 string.replace() 是可以用正则表达式的。 之前,我的代码写法如下: 使用正则表达式也生效后,代码变得优雅简洁: 备注:上图中的base_info 是 pandas 里的 dataframe 数据...
  • 正则查找是否含有,re.search查找整个字符串,只要匹配即可。re.match从字符串开始查找,若开头没有匹配上则认为没有 result = re.search( " " , two).group() print (result) # 正则查找并替换 print ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 171,785
精华内容 68,714
关键字:

python字符串替换

友情链接: ucos51.rar