当前位置: 首页 > news >正文

Python_字符串处理方法

1.字符串转换

#strcpy(sStr1,sStr2)
sStr1 = 'strcpy'
sStr2 = sStr1
sStr1 = 'strcpy2'
print sStr2
1.字符串复制
#strcat(sStr1,sStr2)
sStr1 = 'strcat'
sStr2 = 'append'
sStr1 += sStr2
print (sStr1)
2.连接字符串
#strchr(sStr1,sStr2)
# < 0 为未找到
sStr1 = 'strchr'
sStr2 = 's'
nPos = sStr1.index(sStr2)
print (nPos)
3.查找字符(索引)
#strcmp(sStr1,sStr2)
sStr1 = 'strchr'
sStr2 = 'strch'
print (sStr1 is sStr2)

#-----------------------
#strcmp(sStr1,sStr2)
sStr1 = 'strchr'
sStr2 = 'strch'
print (sStr1 == sStr2)
4.字符串比较
#strspn(sStr1,sStr2)
sStr1 = '12345678'
sStr2 = '456'
#sStr1 and chars both in sStr1 and sStr2
print (len(sStr1 and sStr2))
5.扫描字符串是否包含指定的字符
#strlen(sStr1)
sStr1 = 'strlen'
print (len(sStr1))
6.字符串长度
#S.lower() #小写 
#S.upper() #大写 
#S.swapcase() #大小写互换 
#S.capitalize() #首字母大写 
#String.capwords(S) #这是模块中的方法。它把S用split()函数分开,然后用capitalize()把首字母变成大写,最后用join()合并到一起 
#实例:
#strlwr(sStr1)
sStr1 = 'JCstrlwr'
sStr1 = sStr1.upper()
#sStr1 = sStr1.lower()
print (sStr1)
7.将字符串中的大小写转换
#strncat(sStr1,sStr2,n)
sStr1 = '12345'
sStr2 = 'abcdef'
n = 3
sStr1 += sStr2[0:n]
print (sStr1)
8.追加指定长度的字符串
#strncmp(sStr1,sStr2,n)
sStr1 = '12345'
sStr2 = '123bc'
n = 3
print ((sStr1[0:n] == sStr2[0:n]))
9.字符串指定长度比较
#在2.*有个cmp比较方法,
案例:cmp(a,b)
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1# Python 3.X 的版本中已经没有 cmp 函数,如果你需要实现比较功能,需要引入 operator 模块,适合任何对象,包含的方法有:
operator.lt(a, b)
operator.le(a, b)
operator.eq(a, b)
operator.ne(a, b)
operator.ge(a, b)
operator.gt(a, b)
operator.__lt__(a, b)
operator.__le__(a, b)
operator.__eq__(a, b)
operator.__ne__(a, b)
operator.__ge__(a, b)
operator.__gt__(a, b)
10.字符串比较() 3.*版本Python去掉了cmp,引入 operator 模块,可以lt(小于),gt(大于)
#strnset(sStr1,ch,n)
sStr1 = '12345'
ch = 'r'
n = 3
sStr1 = n * ch + sStr1[3:]
print (sStr1)
11.将字符串前n个字符替换为指定的字符

 

 

Python3  40个字符串处理方法

 

1.capitalize()首字母转大写

>>> a = 'aaaaaa'
>>> a.capitalize()
'Aaaaaa'

2.casefold()将字符串所有字符改为小写

>>> (a.capitalize()).casefold()
'aaaaaa'

3.center(width) 将字符串居中,并用空格将字符串填充至width长度,空格均匀分布在两侧,当width<len(s)时没有效果

>>> a.center(20)
'       aaaaaa       '

4.count(sub[,start[,end]]) 返回sub在字符串里出现的次数,start,end为可选参数,决定范围

>>> a.count('a')
6

5.encode(encoding='utf-8',errors='strict') 以encoding指定的编码格式对字符串进行编码

>>> a.encode(encoding='utf8')
b'aaaaaa'

6.endswith(sub[,start[,end]]) 检查字符串是否以sub结尾,是返回True,否返回False,start,end为可选参数,决定范围

>>> a.endswith(a)
True

7.expandtabs([tabsize=8]) 把字符串的tab字符(\t)转化为空格,如不指定tabsize,默认为8个空格

>>> b = 'aaa    bbb'    #aaa后面有个table
>>> b.expandtabs()    #
'aaa     bbb'#table转为空格
>>> s='\t i love cnblog\t'
>>> s
'\t i love cnblog\t'
>>> s.expandtabs()
'         i love cnblog  '  #这里第一个\t转化为8个空格,第二个tab是在后面加了3个空格,与'cnblog'相加共8个字符,并不是直接加8个空格

8.find(sub[,start[,end]]) 检测sub是否在字符串中,如果在则返回index,否则返回-1,start,end为可选参数,决定范围

>>> s='i love cnblog'
>>> s.find('o')
3

 9.index(sub[,start[,end]]) 类似find(),不同在于如果sub不在字符串中,返回的不是-1而是异常

>>> b
'aaa\tbbb'
>>> b.index('b')
4

10.isalnum() 如果字符串至少有一个字符,并且所有字符都是字母或数字则返回True,否则False

 >>> s='i love cnblog'#有空格
 >>> s.isalnum()
 False
 >>> s='ilovecnblog'
 >>> s.isalnum()
 True
 >>> s='11ii'
 >>> s.isalnum()
 True

11.isalpha() 如果字符串至少有一个字符,并且所有字符都是字母则返回True,否则False

12.isdigit() 如果字符串只包含数字则返回True,否则返回False

13.isdecimal() 如果字符串只包含十进制数字则返回True,否则返回False

14.islower() 如果字符中至少包含一个能区分大小写的字符,并且这些字符都是小写则返回True,否则返回Flase

 isupper()如果字符中至少包含一个能区分大小写的字符,并且这些字符都是大写则返回True,否则返回Flase

15.isnumeric() 如果字符串只包含数字字符,则返回True,否则返回False

17.isidentifier() 判断字符串是否包含该语言的保留字

 18.isprintable() 判断字符串中所有的字符串都是可以通过repr表示成字符串,或者字符串是空的,都返回True,否则返回False

19.isspace() 判断字符串,至少有一个字符的字符串中所有字符是否都是空格,不是则返回False

 20.istitle() 判断是否是标题格式,这里理解为首字母大写。

 21.isupper() 判断字符串是否全部是大写

22.join() 返回一个用指定字符串分隔的字,或者是将指定字符加入到另一个字符中。

 23.lower() 返回的是指定字符串的拷贝,并转化成小写

 24.ljust() 可以指定宽度,以及填充字符串,返回的是按宽度,填充字符串格式化后的左对齐的字符串。

 25.partition:在指定字符串中查找sep,如果找到了返回该字符前面的部分,sep,及后面的部分,

 26.replace ,用指定字符串替换指定字符串,如果不指定替换次数,仅替换第一个。

27.rfind(): 返回指定子串的最高索引,如果没找到则返回-1,可以指定要开始替换的起始,结束位置。

 28.rindex(),与上面的rfind一样,只是如果没找到不是返回-1,而是触发错误

 29.rjust();与ljust()相对应

 30.rpartition()与partition一样,但是是从右边开始

31.rsplit(),与split作用相同,但是从右侧开始

 32.rstrip(), 从右侧移除指定字符

 33.split(), 按指定字符串对目标字符串进行切割,可以指定切割次数

34.splitlines(),返回字符串的行,按换行符切割,如果没指定keepends=True,则会将其从结果中移除

 35.startswith(),判断字符串是否以某个字符开头

 36.strip() 移除字符串两侧的指定字符串,默认移除空格,需要注意的是可以指定多个字符

 37.swapcase() 转换大小写

 38.title(), 标题格式,就是首字母大写,其它字符小写

39.upper(),将字符全部转成大写

 40.zfill(),这里的z指zero,用0将字符填充到指定长度

 

转载于:https://www.cnblogs.com/hellangels333/p/8868597.html

相关文章:

  • SqlSugar解决SQLite访问的问题:Unable to load DLL 'SQLite.Interop.dll'
  • PL/SQL的安装
  • xgboost-PythonR
  • 实验环境的搭建
  • python实现微信扫码支付模式
  • 20.20 告警系统主脚本 20.21 告警系统配置文件 20.22 告警系统监控项目
  • [NodeJS]NodeJS基于WebSocket的多用户点对点即时通讯聊天
  • Cpython 解释器下实现并发编程
  • 6、高级的数组的复制(test4.java)
  • JQuery mouseover mouseout mouseenter mouseleave 的区别
  • Nginx安装以及配置
  • 在使用mybatis中指定字段查询
  • 上海高校金马五校赛 J - 小Y写文章
  • C#求百分比
  • 用python写一个类似于linux中的tree
  • [NodeJS] 关于Buffer
  • 【css3】浏览器内核及其兼容性
  • 2018一半小结一波
  • Electron入门介绍
  • HomeBrew常规使用教程
  • iOS | NSProxy
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • JavaScript 一些 DOM 的知识点
  • JAVA多线程机制解析-volatilesynchronized
  • java取消线程实例
  • js面向对象
  • orm2 中文文档 3.1 模型属性
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 从0到1:PostCSS 插件开发最佳实践
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 问题之ssh中Host key verification failed的解决
  • ionic入门之数据绑定显示-1
  • Spring第一个helloWorld
  • 从如何停掉 Promise 链说起
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • #HarmonyOS:Web组件的使用
  • #pragma pack(1)
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (10)ATF MMU转换表
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (三)mysql_MYSQL(三)
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET 使用 XPath 来读写 XML 文件
  • .net对接阿里云CSB服务
  • @31省区市高考时间表来了,祝考试成功
  • [AX]AX2012 R2 出差申请和支出报告
  • [BZOJ1060][ZJOI2007]时态同步 树形dp
  • [CTSC2014]企鹅QQ