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. codeblock用法

    1.链接动态库.so和静态库.a settings->compiler->linker settings->add 2.编译报错ld return 1 exit status 一般来 ...

  2. shell脚本四-三剑客

    Shell编程——三剑客 简介 Grep:默认不支持扩展表达式,加-E或者egrep Awk:支持所有zhengze Sed默认不支持扩展表达式,加-r 2.sed语法格式 Sed 选项 命令 文件( ...

  3. Oracle 学习笔记(五)

    --表空间,auto: 自动管理, manual: 手动管理   create tablespace  tsp1 datafile 'D:\ORACLE\ORADATA\O10\tsp1.dbf'   ...

  4. jdbc与TiDB数据库交互的过程

    以下是使用jdbc操作TiDB数据库,得到的交互过程和指令的说明 ==>代表发送给数据库的指令 // 加载驱动程序Class.forName(driver); // 连接数据库 Connecti ...

  5. E0264 Unable to execute '"/usr/bin/codesign" ...'

    E0264 Unable to execute '"/usr/bin/codesign" ...' http://docwiki.embarcadero.com/RADStudio ...

  6. TCC细读 - 2 核心实现

    TCC,基于业务层面的事物定义,粒度完全由业务自己控制,本质上还是补偿的思路,它把事物运行过程分为try-confirm-cancel阶段,每个阶段逻辑由业务代码控制 业务活动管理器控制业务活动的一致 ...

  7. 【原】The Linux Command Line - Processes

    ps - report a snapshot of current processes top - display tasks job - list active jobs bg - place a ...

  8. JAVA设计模式一策略模式(Strategy Pattern)

    什么是设计模式? 就是一些经验.让程序代码更具弹性.好维护.代码复用的经验.而且设计模式都遵从一些OO设计原则. 题外话:以下罗列出常用的OO设计原则:链接 本文章介绍策略模式(Strategy Pa ...

  9. Unity网格合并_材质合并

    [转]Unity网格合并_材质合并 原帖请戳:Unity网格合并_材质合并 写在前面: 从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网 ...

  10. Linux 子网掩码计算, 二进制十进制互相转换

    看下边例子 192.168.0.1/24 192.168.0.1/32 192.168.0.1/28 上边24,32,28对应的掩码都是什么,怎么计算的 24,32,28,对应的就是多少个二进制的1 ...