一、过滤字符串
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 ...
随机推荐
- Sum All Primes-freecodecamp算法题目
Sum All Primes 1.要求 求小于等于给定数值的质数之和. 只有 1 和它本身两个约数的数叫质数.例如,2 是质数,因为它只能被 1 和 2 整除.1 不是质数,因为它只能被自身整除. 2 ...
- SAP系统管理中常见问题解答(转载)
1.如何查看SAP系统的位数? system——status看 Platform ID Platform 32-bit 64-bit --------------------------------- ...
- centos7安装mongodb3.6
1. 安装一下centos(6.5) + 虚拟机,在VMware中安装mongodb 2. 下载mongodb最新版本:mongodb-linux-x86_64-3.6.4.tgz,传到centos ...
- DDOS与DOS的区别
0x01 在说之前,先看一些例子吧 还有众所周知的中美黑客大战,新闻我就不说了 0x02 什么是DOS DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻 ...
- Vue 使用History记录上一页面的数据
UI Mvvm 前端数据流框架精讲 Vue数据双向绑定探究 面试问题:Vuejs如何实现双向绑定 数据双向绑定的探究和实现 需求 从列表页的第二页进入详情页,返回时列表页仍然显示在第二页: 从列表页的 ...
- ATMstart
import os, sys BASE_DIR = os.path.dirname(__file__)sys.path.append(BASE_DIR) from core import src if ...
- java的重写(Override) (2013-10-11-163 写的日志迁移
/* *说明方法的重写(又称方法的覆盖)子类并不想原封不动地继承父类的方法,而是想作一定的修改 */ package czbk.jxy.study; /** * @author Archon * @d ...
- Flask学习笔记:数据库迁移操作flask-script+alembic/flask-migrate
数据库迁移是将代码中模型类(即表)的修改同步到数据库中, flask-sqlalchemy的模型类一旦使用create_all()映射到数据库中后,对这个模型类的修改(例如添加了一个新的字段)就不会再 ...
- CCPC 2016-2017, Finals
A. HDU 5999 The Third Cup is Free 简单模拟. B. HDU 6000 Wash n 件衣服, m 个洗衣机,k 个烘干机.每个洗衣机和烘干机需要不同的时间.问 n 件 ...
- Android开发——JVM、Dalvik以及ART的区别
)预编译也可以明显改善电池续航,因为应用程序每次运行时不用重复编译了,从而减少了 CPU 的使用频率,降低了能耗.