一、过滤字符串
1、strip()
(1)去掉行收尾不可见字符
a = ' wejifrow '
print a
print a.strip()
结果:
wejifrow
wejifrow
(2)strip([chars])
a = '**weji**frow**'
print a.strip('*')
结果:
weji**frow
(3)lstrip([chars]) rstrip([chars])
s='* dwiefi **'
print s.lstrip('*')
print s.rstrip('*')
结果:
dwiefi **
* dwiefi
str1=r'\n\t andwf\n\t '
print str1
print str1.strip()
print str1.strip('\tf\n ')
结果:
\n\t andwf\n\t
\n\t andwf\n\t
\n\t andwf\n\t
二、大小写互换
1、ASCII值来换 ord chr
2、
s1.lower() 大写转换为小写
s2.upper() 小写转换成大写
s3.swapcase() 大小写互换
3、
句子的第一个单词的首字母转换为大写 s4.capitalize()
句子的所有单词首字母都需要大写(模块方法):
import string
string.capwords(s5)
或者s5.title()
4、string模块
import string
string.uppercase
string.lowercase
三、字符串对齐
1、s.ljust(width,[fillchar]) 左对齐
s.rjust(width) 右对齐
width定义长度
fillchar:使用什么字符来补齐
s='123abc'
print s.ljust(10,'*')
结果:123abc****
print 'lilili'.ljust(15),'female'.ljust(10),'23'.ljust(5),'zhouzhou'.ljust(15)
与print '%-15s %-10s %-5s %-15s'%('lili','女','23','zhouzhou')效果一样
2、中间对齐 s.centerwidth,[fillchar])
print s.center(15,'*')
结果:*****123abc****
3、s.zfill(width)
s.zfill(10) ==s.rjust(10,'0')
结果:0000123abc
四、搜索
1、s.find(substr,[start,[end]])
substr在s字符中出现的第一个的下标
start end:从s字符串的下标为start的位置开始,下标为end-1的位置结束
没有找到 返回 -1
2、s.index(substr,[start,[end]])
说明:[start,[end]] 有end的情况,必须有start
find与index方法的区别:
find:返回-1
index:如果没有找到,会抛出异常:ValueError: substring not found
使用会抛异常的 做异常分支处理 (APP崩溃经常是没有捕获这类异常引起的)
try:
pass
except:
3、s.rfind(subStr,[start[,end]])
从字符串的右侧进行查找
s='boy boy'
print s.find('boy')
print s.rfind('boy')
结果:
0
4
4、s.rindex(subStr,[start[,end]])
s='boy boy'
print s.rindex('boy')
结果:
4
五、字符串替换
1、s.replace(oldStr,newStr,[count])
使用newStr替换oldStr。
count:替换多少次
没有返回值,需要s=s.replace()
2、s.expandtabs([tabsize])
把制表符替换成空格
tabsize:默认一个tab键替换为8个空格, 把一个tab键替换成tabsize个空格
六、字符串切割
1、s.split([sep[,maxsplit]])
sep:以s字符串中的seq字符串来分隔
maxsplit:从左往右分隔的次数
2、s.splitlines([keepends])
分隔行,以换行符(\n)
keepends=true,保留换行符。默认值为False
3、s.rsplit([sep[,maxsplit]])从字符串右侧开始切割
七、列表转换为字符串
1、s.join()由字符串组成的列表拼接成字符串
2、s.startwith(subStr)
字符串s是否以subStr子串开头,返回值 true or false
s.endswith(subStr)
字符串s是否以subStr子串结尾,返回值 true or false
3、s1 in s
判断s1子串是否在字符串s中
八、判断字符串
1、s.isalpha()
s字符串是否都是有字母组成,并且至少由一个字符组成
2、s.isalnum()
s字符串是由字母或者数字组成,并且至少由一个字符组成
3、s.isdigit()
s字符串中的字符都是由数字组成的,并且至少由一个字符组成
‘12.23’.isdigit() 结果是FALSE
4、s.isspace()
判断s字符串是否由空格组成,并且至少由一个字符组成
只要是空白的,就认为是空格
5、s.islower()
判断字符串s中的字母(可以包含其他的字符)是否都是小写,并且至少有一个字母
TRUE or Flase
‘a1’.islower() 结果为True
6、s.isupper()
判断字符串s中的字母(可以包含其他的字符)是否都是大写,并且至少有一个字母
7、s.istitle()
判断字符串s中的所有单词的首字母是大写,其他字母为小写,并且至少有一个字母
8、
import string
string.maketrans(from,to)
映射表,做编码和解码的时候使用
例如:
mapTable=string.maketrans(‘123’,‘abc’)
s='111abc123abc‘
print s.translate(mapTable)
结果:
aaaabcabcabc
九、数字类型的转换
int()
float()
long()
import string
1、string.atoi(s,a) 还可以转换八进制,十六进制
a:代表的是进制数
s='18'
print int(s)
print string.atoi(s)
结果:
18
18
print string.atoi('011',8) 9
print string.atoi('0x11',16) 17
2、string.atol('11') 11
3、string.atof('1.23456') 1.23456
十、
1、ord() 字母转换为对应的ASCII值
2、chr() 把数字转换成对应的字符
3、
s.encode([encoding[,errors]]) 编码函数 把Unicode编码为需要的
encoding:编码的类型
errors:默认值’strict‘。ignore(忽略)
s.decode() 解码函数 解码为Unicode格式
- Python关于去除字符串中空格的方法
Python关于去除字符串中空格的方法 在编写程序时我们经常会遇到需要将字符串中的空格去掉的情况,通常我们可以使用下面几种解决方法: 1.strip()方法:该方法只能把字符串头和尾的空格去掉,但是不 ...
- Python如何判断字符串中是否有中文
解决:Python如何判断字符串中是否有中文 In [240]: s Out[240]: '你好aa' In [241]: for i in s: ...: if u'\u4e00' <= i ...
- (python)数据结构---字符串
一.概述 由一个个字符组成的有序序列. 使用单引号.双引号.三引号引住的字符序列. 不可变.线性的数据结构. 二.字符串的相关操作 1.元素访问----下标 字符串是线性的数据结构,可以使用索引去访问 ...
- python的str()字符串类型的方法详解
字符串一旦创建,不可修改,一旦修改或者拼接,都会造成重新生成字符串,因为内存存数据是一个挨着一个存的,如果增加一个字符串的话,之前的老位置只有一个地方,不够,这是原理性的东西,在其他语言里面也一样 7 ...
- Python:删除字符串中的字符
一.删除字符串两端的一种或多种字符 #strip().lstrip().rstrip()方法:(默认删除空格符) A.list.strip(字符):删除字符串两端的一种或多种字符: #例:删除字符串s ...
- Python判断一个字符串中是否存在多个子串中的一个
在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题, 但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c| ...
- python,如何获取字符串中的子字符串,部分字符串
说明: 比如有一个字符串,python,如何就获取前3位,或者后2位.在此记录下. 操作过程: 1.通过分割符的方式,下标的方式,获取字符串中的子串 >>> text = 'pyth ...
- python之统计字符串中字母出现次数
dic=dict() d={} s=set() s='helloworld' (1)d=dict() for x in s: if x not in d.keys(): d[x]=1 else: d[ ...
- python:过滤字符串中的字母数字特殊符号
今天遇到的字符串处理的问题,记录一下方便使用 str1 = input('请输入一个字符:') #初始化字符.数字.空格.特殊字符的计数 lowercase = 0 uppercase = 0 num ...
随机推荐
- 网络编程——UDP协议和通信
第1章 UDP与TCP协议 在介绍TCP/IP结构时,提到传输层的两个重要的高级协议,分别是UDP和TCP,其中UDP是User Datagram Protocol的简称,称为用户数据报协议,TCP是 ...
- python换行
python中如果一行代码太长,看着不方便时,怎么办? 只需要在需要换行的地方添加上符号 \ 就行了.
- java基础面试题:java中有没有goto? 在JAVA中如何跳出当前的多重嵌套循环?
goto是Java的保留关键字,但是从来没有直接使用到goto,goto的跳转作用在Java中受到了限制,只有在特定场合下才能使用,如while for等循环中用continue.break或结合标签 ...
- 2018.11.7 Nescafe29 T1 穿越七色虹
题目 题目背景 在 Nescafe27 和 28 中,讲述了一支探险队前往 Nescafe 之塔探险的故事…… 当两位探险队员以最快的时间把礼物放到每个木箱里之后,精灵们变身为一缕缕金带似的光,簇簇光 ...
- mysql基础,DISTINCT关键字
- cmf5分页相关
//分页配置在app/config.php 'paginate' => [ 'type' => '\cmf\paginator\Bootstrap', 'var_page' => ' ...
- Python中的正则
regex_lst = [ ('字符组',), ('非打印字符',), ('特殊字符',), ('定位符',), ('限定符',), ('re模块',), ('分组命名',), ('或匹配',), ( ...
- 算法图解之大O表示法
什么是大O表示法 大O表示法可以告诉我们算法的快慢. 大O比较的是操作数,它指出了算法运行时间的增速. O(n) 括号里的是操作数. 举例 画一个16个格子的网格,下面分别列举几种不同的画法,并用大O ...
- Neon Lights in Hong Kong【香港霓虹灯】
Neon Lights in Hong Kong Neon is to Hong Kong as red phone booths are to London and fog is to San Fr ...
- Python中str、list、numpy分片操作
在Python里,像字符串(str).列表(list).元组(tupple)和这类序列类型都支持切片操作 对对象切片,s是一个字符串,可以通过类似数组索引的方式获取字符串中的字符,同时也可以用s[a: ...