python基本数据类型之字符串(二)

替换方法

python中字符串的替换方法主要有:center、rjust\ljust、expandtabs、format\format_map(格式化)、strip、rstrip\lstrip、replace和zfill。其中最重要的两个方法是replace和format。

1、replace

replace方法是用新子串替换原来字符串中的子串。

该方法有3个参数——replace(old, new, count),其中old是指原字符串中的子串;new是用来替换的新子串;count=None是默认参数,指定需要替换的子串个数,默认为None表示替换全部子串。

s = 'xiangfeiepo, haqishipugai'
v = s.replace('i','*')
print(v)

打印结果:

x*angfe*epo, haq*sh*puga*

当指定count时:

s = 'xiangfeiepo, haqishipugai'
v = s.replace('i', '*', 2)
print(v)

打印结果:

x*angfe*epo, haqishipugai

其中count也可以赋值为True或False。当赋值为True时,表示只替换第一个子串;当赋值为False时,表示不进行替换。

这一点涉及到了python中的类型转换。python中任何类型都可以转换为bool型,对于int类型来说,True为1,False为0。

2、center、rjust、ljust

这3个方法是用来调整字符串的对齐方式,center是居中对齐,rjust/ljust分别是右对齐和左对齐。

3个方法都需要2个参数——center(width, fillchar=None),width用来指定将字符串扩展至多少个字符,fillchar指定了其余位置用什么字符来进行填充。fillchar是默认参数,默认值None表示用空格进行填充。

s = 'YeYeYe'
v = s.center(20, '*')
v1 = s.rjust(20, '*')
v2 = s.ljust(20, '*')
print(v)
print(v1)
print(v2)

打印结果:

*******YeYeYe*******
**************YeYeYe
YeYeYe**************

如上所示,center将原字符串置于字符串中央,用指定字符将原字符串填充至20个字符。rjust将原字符串置于最右边(ljust将字符串置于最左边),并将左边(右边)用指定字符填充。

3、expandtabs

expandtabs方法是将字符串中的tab(\t)替换成空格。用具体的例子可以更好地理解该方法:

s = "haowefnowg\tahufebg\tadbge\tabdoane3"
v = s.expandtabs(6)
print(v)

打印结果如下:

haowefnowg  ahufebg     adbge abdoane3

expandtabs(6)表示程序会以6个字符为单位对原字符串进行截取。首先截取第一个6位(字符)——"haowef",该6位子串中没有\t,因此照原样输出;继续截取6个字符的子串,"nowg\t"这其中存在\t,因此,\t前面的字符会按原样输出,\t被替换成了2个(6-4=2)空格。照此规律继续截取下面的字符并进行替换。

该方法可以将原来字符串中的\t替换成若干个空格。expandtabs方法一般用来将用户的输出制作成表格进行输出:

s = '用户名\t密码\t邮箱\nguyexiangyun\t123456\tguyexiangyun@163.com\n'
v = s.expandtabs(30)
print(v)

打印结果:

用户名                           密码                            邮箱
guyexiangyun 123456 guyexiangyun@163.com

4、strip、rstrip、lstrip

这3个方法是用来删除字符串中的指定字符。strip删除字符串两端的指定字符,而rstrip\lstrip分别是用来删除字符串右端和左端的字符。

这3个方法仅有一个默认参数chars=None,用来指定要删除的字符。默认是删除字符串首尾的非打印字符,包括空格、制表符和换行符。

并且strip方法对字符串的匹配遵循优先最多匹配原则,即优先对字符个数最多的子串进行匹配

s = 'jeojfowei djw je'
v = s.strip('je')
v1 = s.rstrip('je')
v2 = s.lstrip('jeo')
print(v)
print(v1)
print(v2)

打印结果:

ojfowei djw
jeojfowei djw
fowei djw je

当字符串两端不存在指定字符时,strip方法会返回原字符串。

5、zfill

该方法用来扩展字符串,其余位置将由0来填充。并且0会被填充在字符串的左边(右对齐)。

s = 'dashidafei'
v = s.zfill(20)
print(v)

打印结果:0000000000dashidafei

6、format和format_map

这两个方法用来格式化字符串,其中设置格式的方式有很多种。具体参见《字符串的格式化》

python基本数据类型之字符串(二)的更多相关文章

  1. python基本数据类型之字符串(四)

    python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值 ...

  2. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...

  3. python基本数据类型之字符串(五)

    python基本数据类型之字符串(五) 遍历与查找 python中的字符串属于可迭代对象,通过一些方法可以遍历字符串中的每一个字符.而查找的方法主要有两个:find与index. 1.字符串的遍历 字 ...

  4. python基本数据类型之字符串(三)

    python基本数据类型之字符串(三) 转换和判断方法 在python中,有一些内置方法可以将字符串转化特定形式,而与之对应的一些方法可以判断字符串是否符合某些形式.因此,在这篇文章中,笔者把转换方法 ...

  5. python自学笔记(二)python基本数据类型之字符串处理

    一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...

  6. Python基本数据类型之字符串、数字、布尔

     一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...

  7. python的数据类型之字符串(二)

    字符串常见操作 如有字符串mystr = 'hello xiaose',以下是常见的操作 1.find 检测某个字符串是否包含在 mystr中,如果是返回开始的索引值,否则返回-1 格式:mystr. ...

  8. python基本数据类型:字符串及其方法(二)

    格式化类 方法join() #join()用指定字符每间隔拼接字符串 name='miku' name1=' '.join(name) print(name1) 方法center() #center( ...

  9. Python开发——数据类型【字符串】

    字符串定义 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息 在Python中加了引号的字符,都被认为是字符串! 单引号.双引号.多引号之间的区别? 答案:单双引号没有区别 多引号的作用? ...

随机推荐

  1. [java,2017-05-16] java中清空StringBuffer的方法以及耗费时间比较

    java中清空StringBuffer的方法,我能想到的有4种: 1. buffer.setLength(0);  设置长度为0 2. buffer.delete(0, buffer.length() ...

  2. hadoop2.6.4集群笔记

    ---恢复内容开始--- 一,linux下的准备工作 1,修改主机名: vi /etc/sysconfig/network 2,修改ip vi /etc/sysconfig/network-scrip ...

  3. linux面试题-基础题1

    第1章 基础题1 1.1 在装系统创建Linux分区时,一般至少需要创建两个分区( ) A.FAT.NTFS   B. /usr.swap    C. /boot.swap  D.swap./ 1.2 ...

  4. ELK+Beats日志分析系统部署

    一.            名词介绍: E:ElasticSearch 搜索,简称es L:Logstash 管理日志和事件的工具 K:Kibana 功能强大的数据显示客户端 Beats 轻量级数据传 ...

  5. windows注册表解析说明

    https://www.cnblogs.com/wfq9330/p/9176654.html

  6. 自然语言处理的CNN模型中几种常见的池化方法

    自然语言处理的CNN模型中几种常见的池化方法 本文是在[1]的基础上进行的二次归纳. 0x00 池化(pooling)的作用   首先,回顾一下NLP中基本的CNN模型的卷积和池化的大致原理[2].f ...

  7. js中的数据类型有

  8. 对于链表中tada的绝对值相等的点,仅保留第一次出现的结点而删除其余绝对值相等的点

    算法的核心思想是用空间换时间,使用辅助数组记录链表中已出现的数值  从而只需对链表进行一趟扫描 typedef struct node { int data; struct node* next; } ...

  9. 2018面向对象程序设计(Java)第17周学习指导及要求

    2018面向对象程序设计(Java)第17周学习指导及要求(2018.12.20-2018.12.23)   学习目标 (1) 掌握线程同步的概念及实现技术: (2) Java线程综合编程练习 学习资 ...

  10. Communication Model

    [Communication Model] EOSIO actions operate primarily in a message-based communication architecture. ...