一、过滤字符串
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之数据结构:字符串中的方法的更多相关文章

  1. Python关于去除字符串中空格的方法

    Python关于去除字符串中空格的方法 在编写程序时我们经常会遇到需要将字符串中的空格去掉的情况,通常我们可以使用下面几种解决方法: 1.strip()方法:该方法只能把字符串头和尾的空格去掉,但是不 ...

  2. Python如何判断字符串中是否有中文

    解决:Python如何判断字符串中是否有中文 In [240]: s Out[240]: '你好aa' In [241]: for i in s: ...: if u'\u4e00' <= i ...

  3. (python)数据结构---字符串

    一.概述 由一个个字符组成的有序序列. 使用单引号.双引号.三引号引住的字符序列. 不可变.线性的数据结构. 二.字符串的相关操作 1.元素访问----下标 字符串是线性的数据结构,可以使用索引去访问 ...

  4. python的str()字符串类型的方法详解

    字符串一旦创建,不可修改,一旦修改或者拼接,都会造成重新生成字符串,因为内存存数据是一个挨着一个存的,如果增加一个字符串的话,之前的老位置只有一个地方,不够,这是原理性的东西,在其他语言里面也一样 7 ...

  5. Python:删除字符串中的字符

    一.删除字符串两端的一种或多种字符 #strip().lstrip().rstrip()方法:(默认删除空格符) A.list.strip(字符):删除字符串两端的一种或多种字符: #例:删除字符串s ...

  6. Python判断一个字符串中是否存在多个子串中的一个

    在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题, 但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c| ...

  7. python,如何获取字符串中的子字符串,部分字符串

    说明: 比如有一个字符串,python,如何就获取前3位,或者后2位.在此记录下. 操作过程: 1.通过分割符的方式,下标的方式,获取字符串中的子串 >>> text = 'pyth ...

  8. 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[ ...

  9. python:过滤字符串中的字母数字特殊符号

    今天遇到的字符串处理的问题,记录一下方便使用 str1 = input('请输入一个字符:') #初始化字符.数字.空格.特殊字符的计数 lowercase = 0 uppercase = 0 num ...

随机推荐

  1. 零基础快速入门SpringBoot2.0 (一)

    零基础快速入门SpringBoot2.0 (一) 一.SpringBoot2.x依赖环境和版本新特性说明 简介:讲解新版本依赖环境和springboot2新特性概述 1.依赖版本jdk8以上, Spr ...

  2. 散列表的ASL计算

    题目: 已知关键字序列为{30,25,72,38,8,17,59},设散列表表长为15.散列函数是H(key)=key MOD 13,处理冲突的方法为二次探测法Hi= ( H(key) + di )m ...

  3. python笔记-dict字典的方法

    #!/usr/bin/env python #-*- coding:utf-8 -*- #打印0001-9999的数字 for i in range(9999): s = "%04d&quo ...

  4. JZOJ 4307. 喝喝喝

    Description

  5. JZOJ 5771. 【NOIP2008模拟】遨游

    5771. [NOIP2008模拟]遨游 (File IO): input:trip.in output:trip.out Time Limits: 2000 ms  Memory Limits: 2 ...

  6. GoF23种设计模式之结构型模式之适配器模式

    一.概述         将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 二.适用性 1.你想使用一个已经存在的类,但是它的接口不符合 ...

  7. Windows Server 2008 正式版下载汇总

    windows 2008是微软推出的新一代服务器专用系统版本, 具有良好的用户体验以及应用程序,windows 2008大幅提升了web服务以及应用程序的性能, 让企业在提供和维护资源服务的时候更加得 ...

  8. 2017 United Kingdom and Ireland Programming(Gym - 101606)

    题目很水.睡过了迟到了一个小时,到达战场一看,俩队友AC五个了.. 就只贴我补的几个吧. B - Breaking Biscuits Gym - 101606B 旋转卡壳模板题.然后敲错了. 代码是另 ...

  9. HDU:1358-Period

    Period Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Desc ...

  10. BZOJ 1222: [HNOI2001]产品加工

    F[i]表示第一个机器用了i的时间,第二个机器的最小时间 转移即可 #include<cstdio> #include<algorithm> using namespace s ...