Python3的字符串替换,这里总结了三个函数,replace()和translate()和re.sub()

replace()

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

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

a = 'Hello,world. ByeBye!'

print(a.replace('l','Q'))

print(a.replace('abcdefghi','0123456789'))

print(a.replace('world','apple'))

HeQQo,worQd. ByeBye!

Hello,world. ByeBye!

Hello,apple. ByeBye!

可见,replace()函数可以替换string中的单个字符,也可以替换连续的字符,但无法生成字符替换映射表

敲黑板!

pandas 里面也有一个replace()函数,其用法更加多样化。比如,可以加入一个字典,用于替换对不同的值进行替换。

s = pd.Series([0, 1, 2, 3, 4])

s.replace({0:'a',1:'b'})

Out[2]:

0 a

1 b

2 2

3 3

4 4

dtype: object

translate()

translate()函数也是python自带。与replace() 函数不同的是,这里使用str.maketrans函数来创建一个表,它可以使用各种参数,但是需要三个Arguments。

str.maketrans('','',del)

第一个参数为被替换的字符,第二个参数为替换的字符,第三个参数为要删除的字符

import string

a = 'Hello,world. ByeBye!'

remove = string.punctuation

table = str.maketrans('abcdefgh','01234567',remove)

print(a.translate(table))

H4lloworl3 By4By4

string.punctuation返回所有的标点符号,更多字符串常量如下图:

str.maketrans()的前两个参数相当于一个映射表,如上述结果,所有的'e'被替换成了'4'

第三个参数为要删除的字符,上述例子删除了所有的标点符号,如果要删除的字符还要加上空格的话,则可以这样:

table = str.maketrans('abcdefgh','01234567',remove+' ')

print(a.translate(table))

H4lloworl3By4By4

re.sub()

这个是re库里的函数,其原型为re.sub(pattern, repl, string, count)

第一个参数为正则表达式需要被替换的参数,第二个参数是替换后的字符串,第三个参数为输入的字符串,第四个参数指替换个数。默认为0,表示每个匹配项都替换。

import re

a = 'Hello,world. ByeBye!'

print(re.sub(r'[A-Z]', '8', a))

8ello,world. 8ye8ye!

上述例子是把所有的大写字母替换成8,下述表示只替换前2个这样的大写字母。

print(re.sub(r'[A-Z]', '8', a, 2))

8ello,world. 8yeBye!

Reference:

python数字替换成中文replace_Python3字符串替换replace(),translate(),re.sub()相关推荐

  1. python数字转换成中文大写

    python数字转换成中文大写 代码 #-*- coding:utf-8 -*- count_map = {1:1, 2:10, 3:100, 4:1000, 5:10000} #用来统计传入数值的级 ...

  2. python数字转换成中文大写_python初学者笔记(2):阿拉伯数字转换成中文大写

    题:输入一个数字,转换成中文大写的写法 可运行的程序(Python 2.7.9): 1 #-*- coding: utf-8 -*- #在python2的py文件里面写中文,必须要添加一行声明文件编码 ...

  3. python数字转换成中文大写_python 人民币数字转大写中文

    def digital_to_chinese(digital): str_digital = str(digital) chinese = {'1': '壹', '2': '贰', '3': '叁', ...

  4. python 字符串替换_Python中的字符串替换操作示例

    这篇文章主要介绍了Python中的字符串替换操作示例,包括一则使用字符串模板string.Template的例子及一则使用正则表达式的例子, 字符串的替换(interpolation), 可以使用st ...

  5. c语言将英文逗号转成中文逗号,处理csv文件,英文逗号替换成中文逗号之后就乱码...

    Python2.7,处理csv文件时,把英文逗号替换成中文逗号之后就会乱码,title变量会乱码,可是content就不会,他们都是str类型,麻烦大家,这是为啥??def main(): #初始化数 ...

  6. php替换不掉中文引号,php如何替换成中文双引号

    [摘要] PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 ...

  7. python 把数字转换成中文大写

    def conversionString(intnumber):'''把数字转换成中文大写,例如:1->一 ,25->二十五,49->四十九Parameters----------i ...

  8. python数字转成字符串

    python数字转成字符串 2012-07-20 15:05  13433人阅读  评论(0)  收藏  举报 python import 数字转成字符串,使用格式化字符串: 如 tt=322 tem ...

  9. python数字转汉字-Python实现把数字转换成中文

    周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文.程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用. #!/usr/bin/python #-*- encodin ...

最新文章

  1. R语言之斐波那契数列
  2. SQLite异常 qAdmin: Cannot perform this operation on a closed dataset.
  3. RHEL在戴尔系统上p1p1 ......命名规则
  4. virtualbox调试linux内核,virtualbox+kgdbt调试linux内核
  5. 用vue-cli3从0打造一个完整的UI库
  6. 1.3. kermit
  7. shell学习三十四天----printf详解
  8. ASP.NET Session丢失问题原因及解决方案[转]
  9. c语言 if判断条件语句吗,if条件判断语句,谁能帮我分析一下?
  10. linux目录/etc/nc.d/nc.local开机启动项无效
  11. 计算机VFP输出方式有哪几种,VFP导出数据的方法大全
  12. java随机数函数生成指定区间的,意外的惊喜
  13. Redis是单线程的以及Redis为什么这么快
  14. 慕课PDF下载扩展--再也不用担心慕课不给PDF了
  15. 解决VUE打印时多一页空白页的问题
  16. 厦门大学计算机专业录取分数线2019,厦门大学2019年各省录取分数线及各专业录取分数线...
  17. bilibili手机视频下载目录整理脚本
  18. HTML5简明教程系列之HTML5基础(一)
  19. Quantopian教程系列四
  20. 微服务之spring Boot+MyBatis-Plus +mysql框架

热门文章

  1. 怎么理解python循环_如何理解Python的循环设计
  2. java一到6章上机代码_JAVA练习题(第6章).ppt
  3. tomcat ---- web.xml
  4. 一个aov网用邻接矩阵表示_第6章+图习题解析
  5. plsql 自动查询最后页_一次SQL查询优化思考过程(900W+数据,从17s到300ms)
  6. ngnix的简单转发请求之server和location配置详解
  7. An error occured instantiating job to be executed. job-Quartz的Job无法实例化原因及解决方案总结
  8. Spring Boot 配置文件之前缀属性注入
  9. Git如何忽略已经上传的文件或文件夹?
  10. Android开发笔记(一百五十一)WebView与JavaScript交互的四种形式