字符串函数操作

isprintable():判断一个字符串中所有字符是否都是可打印字符的. 与isspace()函数很相似

如果字符串中的所有字符都是可打印的字符或字符串为空返回 True,否则返回 False

str1 = 'gheruiv';
str2 = '\n\t';
print(str1.isprintable()); //True
print(str2.isprintable()); //False

istitle():判断一个字符串中所有单词的首字母是不是大写

返回值为布尔类型,True或者False

str1 = 'wo shi liu wen'
print(str1.istitle()); // False
print(str1.title()); //Wo Shi Liu Wen

join(iterable):根据指定的字符串,将给定的可迭代对象,进行拼接,得到拼接后的对象

返回通过指定字符连接可迭代对象中的元素后生成的新字符串.

可迭代对象:字符串、列表、元祖、字典

str = "woshiliuwen";
n = '-';
res = n.join(str);
print(str); // woshiliuwen
print(res); //w-o-s-h-i-l-i-u-w-e-n

ljust(width,fillchar):根据指定的字符串,将原来的字符串填充够指定长度,返回一个原字符串左对齐,并使用指定字符填充至指定长度的新字符串

rjust(width,fillchar):根据指定的字符串,将原来的字符串填充够指定长度,返回一个原字符串右对齐,并使用指定字符填充至指定长度的新字符串

width:得到目标字符串的长度

fillchar:填充的字符

不会修改原字符,只有字符串长度小于指定长度才会填充

str1 = "liuwen"
res1 =str1.ljust(20,'-')
res2 =str1.rjust(20,'-')
print(res1) // liuwen--------------
print(res2) //--------------liuwen

str.maketrans(intab,outtab):方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

intab:需要转换的字符组成的字符串。

outtab:转换的目标字符组成的字符串。

注意:两个字符串的长度必须相同,为一一对应的关系。返回字符串转换后生成的新字符串。

m = "vndlvbldapelsjfosj"
n = str.maketrans("aljsv","12345");
res = m.translate(n);
print(res); // 5nd25b2d1pe243fo43

swapcase():用于对字符串的大小写字母进行转换,返回大小写字母转换后生成的新字符串

str = 'LIu weN mINg';
res = str.swapcase();
print(res); // liU WEn MinG

spilt(sep,maxsplit):通过指定分隔符将一个大的字符串进行分割变成几个小的字符串并返回一个列表。并不会修改原字符串

sep:分割符

maxsplit:最大分割次数,可以省略  有多少分割多少

str = 'ljbjgdfkjmmjhusjdvdjsjs'
res1 = str.split();
res2 = str.split("j");
res3 = str.split("j",3);
print(res1); // ['ljbjgdfkjmmjhusjdvdjsjs']
print(res2); // ['l', 'b', 'gdfk', 'mm', 'hus', 'dvd', 's', 's']
print(res3); // ['l', 'b', 'gdfk', 'mmjhusjdvdjsjs']

splitlines(keepends=False):按照换行符(\r,\n),将字符串拆解成多个元素,保存到列表中.

keepends:默认为False,为True时,会保留换行符

不会修改原来字符串

str = 'liu\nwen\nming\n'
print(str.splitlines()); //['liu', 'wen', 'ming']
str1 = 'liu\nwen\nming\n'
print(str1.splitlines(True)); // ['liu\n', 'wen\n', 'ming\n']

 partition(seq):根据指定的分隔符,返回(分隔符左边内容,分隔符,分隔符右边内容)

rpartition(seq):用法和上面的相同

seq:分隔符    返回一个元组

不会修改原来字符串  从左边开始查找分隔符

str = "jsh-vksgv-shkvk-fwouf";
res1 = str.partition("-");
print(res1); // ('jsh', '-', 'vksgv-shkvk-fwouf')

Python学习-字符串函数操作3的更多相关文章

  1. Python学习-字符串函数操作2

    字符串函数操作 find( sub, start=None, end=None):从左到右开始查找目标子序列,找到了结束查找返回下标值,没找到返回 -1 sub:需要查找的字符串 start=None ...

  2. Python学习-字符串函数操作1

    字符串的函数操作 capitalize():可以将字符串首字母变为大写 返回值:首字符大写后的新字符串 str = "liu" print(str.capitalize()); / ...

  3. Python学习————字符串相关操作

    s.capitalize()-------首字母大写s.upper()------全大写s.lower()------全小写s.swapcase()---大小写翻转s.title()------每个隔 ...

  4. python学习8—函数之高阶函数与内置函数

    python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释 ...

  5. [Python] Python 学习 - 可视化数据操作(一)

    Python 学习 - 可视化数据操作(一) GitHub:https://github.com/liqingwen2015/my_data_view 目录 折线图 散点图 随机漫步 骰子点数概率 文 ...

  6. python学习7—函数定义、参数、递归、作用域、匿名函数以及函数式编程

    python学习7—函数定义.参数.递归.作用域.匿名函数以及函数式编程 1. 函数定义 def test(x) # discription y = 2 * x return y 返回一个值,则返回原 ...

  7. python基础学习-字符串常见操作

    字符串常见操作 索引 s = "abcdefg" # 字符串数据,切片后取出的数据都是字符串类型 # 从左至右取值:从0开始 # 从右向左取值:从-1开始 print(" ...

  8. python学习之“切片操作从入门到精通”

    在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> L ...

  9. python 学习笔记 redis操作

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

随机推荐

  1. POJ 3100:Root of the Problem

    Root of the Problem Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12060   Accepted: 6 ...

  2. VC/MFC列表CListCtrl类的LVCOLUMN和LVITEM详解

      列表视图控件(List Control)列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来.与树视图类似,列表 ...

  3. 我为什么从python转向go

    应puppet大拿刘宇的邀请,我去西山居运维团队做了一个简短分享,谈谈为什么我要将我们的项目从python转向go. 坦白的讲,在一帮python用户面前讲为什么放弃python转而用go其实是一件压 ...

  4. Git-flow 一个简单高效的Git工作流

    背景 由于Git的分支比SVN更好管理且更易使用,最近团队从SVN迁移到Git,需要重新规划开发流程,最终确定使用Git-flow工作流,这是目前比较流行的一种分支模型,下面是Git-flow的简易流 ...

  5. Java DOM方式解析XML(模板)

    //创建一个DocumentBuilderFactory工厂实例 DocumentBuilderFactory DBF=DocumentBuilderFactory.newInstance(); // ...

  6. bzoj 1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富【记忆化搜索+剪枝】

    c[x][y]为从(x,y)到(n,m)的最大值,记忆化一下 有个剪枝是因为y只能+1所以当n-x>m-y时就算x也一直+1也是走不到(n,m)的,直接返回0即可 #include<ios ...

  7. SQL 增加, 删除父子级带事务的存储过程

    if (object_id('proc_DeleteFile', 'P') is not null)    drop proc proc_DeleteFile gocreate  PROCEDURE ...

  8. RT-Thread 设备驱动-硬件定时器浅析与使用

    RT-Thread 4.0.0 访问硬件定时器设备 应用程序通过 RT-Thread 提供的 I/O 设备管理接口来访问硬件定时器设备,相关接口如下所示: 函数 描述 rt_device_find() ...

  9. cocos2d-x lua中实现异步加载纹理

    原文地址:  http://www.cnblogs.com/linchaolong/p/4033118.html 前言   问题:最近项目中需要做一个loading个界面,界面中间有一个角色人物走动的 ...

  10. Java常见面试问题: equals()与hashCode()的使用

    目录 1 equals()与'=='的区别 2 equals()方法的重写规则 3 为什么重写equals()的同时还需要重写hashCode() 4 JDK 7中对hashCode()方法的改进 5 ...