Python基础 字符串的魔法
capitalize(self)
返回值:将字符串的第一个首字母变成大写,其他字母变小写
s = 'hello World' ss = s.capitalize() print(ss)
Hello world
casefold(self)
返回值:字符串内所有字符大写变小写。魔法范围比.lower()大。
s = 'Are you Ok ?' ss = s.casefold() print(ss)
are you ok ?
lower(self)
返回值:字符串内所有字符大写变小写。魔法范围比casefold()小
s = 'Are you Ok ?' ss = s.lower() print(ss)
are you ok ?
Casefolding is similar to lowercasing but more aggressive because it is intended to remove all case distinctions in a string. For example, the German lowercase letter 'ß' is equivalent to "ss". Since it is already lowercase, lower() would do nothing to 'ß'; casefold() converts it to "ss".
expandtabs(tabsize
=
8
)
方法把字符串中的 tab 符号('\t')转为空格,默认的空格数 tabsize 是 8,也可以指定其他数值。
下例中转换方式为,从左向右数5个字符,没有\t就继续数5个 例如 username\tpasswd....遇到ame\t的时候就换成2个空格再继续数(5-3)
s = 'username\tpasswd\temail\nzhuge\t123\tzhuge@sg.com\nzhuge\t123\tzhuge@sg.com\nzhuge\t123\tzhuge@sg.com\n' ss = s.expandtabs(5) print(ss)
username passwd email zhuge 123 zhuge@sg.com zhuge 123 zhuge@sg.com zhuge 123 zhuge@sg.com
join(sequence)
方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
参数:sequence -- 要连接的元素序列。str1.join(str2)用str1链接str2序列
s = 'hello' ss = '-'.join(s) print(ss)
h-e-l-l-o
split([sep[, num=maxsplit]])
通过指定分隔符(sep)对字符串进行切片,如果参数(num) 有指定值n,则仅切n次,num默认为最大限度切割。
s = 'i love you, i l o v e y o u' ss = s.split() sss = s.split(' ', 1) print(ss) print(sss) l = '1+2+3+4+5' ll = l.split('+', 3) print(ll)
['i', 'love', 'you,', 'i', 'l', 'o', 'v', 'e', 'y', 'o', 'u'] ['i', 'love you, i l o v e y o u'] ['1', '2', '3', '4+5']
find(str,[beg=0,[end=len(string)]])
查找子串str在字符串的开始位置。
从下标为beg(默认为0)的位置开始找,直到索引为end(默认到结尾)处,如果找到,则返回此子串对应的索引,找不到就返回-1。
s = 'abcdefabc' ss = s.find('c') sss = s.find('c', 3) ssss = s.find('h') print(ss), print(sss), print(ssss)
2 8 -1
strip([chars])
方法用于移除字符串头尾指定的字符(chars)(默认为空格)。
扩展:lstrip() rstrip()可用于删除左边/右边的指定字符。
s = '-----hello world--' ss = s.strip('-') sss = s.lstrip('-') print(ss), print(sss
hello world hello world--
upper()
返回值:将字符串中的小写字母转为大写字母。
s = 'hello' ss = s.upper() print(ss)
HELLO
lower()
返回值:与upper()相反地,将字符串中所有大写字符转换为小写。
s = 'HELLO' ss = s.lower() print(ss)
hello
replace(old, new[, max])
方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
s = 'abcdabcdabcd' ss = s.replace('abc', 'e') sss = s.replace('abc', 'e', 2) print(ss), print(sss)
ededed ededabcd
isdigit()
方法检测字符串是否只由数字组成,如果字符串只包含数字,罗马数字)则返回 True 否则返回 False.
# isdigit() # True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字 # False: 汉字数字 # Error: 无 # # isdecimal() # True: Unicode数字,,全角数字(双字节) # False: 罗马数字,汉字数字 # Error: byte数字(单字节) # # isnumeric() # True: Unicode数字,全角数字(双字节),罗马数字,汉字数字 # False: 无 # Error: byte数字(单字节)
isalpha()
字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
Python基础 字符串的魔法的更多相关文章
- python基础——字符串和编码
python基础——字符串和编码 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用 ...
- Python 基础-> 字符串,数字,变量
Python 基础:字符串,数字,变量 1. 字符串 (信息的一种表达方式) a. 使用引号创建字符串 b. 单引号,双引号,三引号: ', ", ''', ""&quo ...
- Python基础-字符串格式化_百分号方式_format方式
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 基础 字符串拼接 + if while for循环
注释单行注释 #多行注释 ''' 三个单引号或者三个双引号 """ ''' 用三引号引住可以多行赋值 用户交互 input 字符串拼接 + ""%( ...
- Python基础——字符串
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 在Python中,字符串也是一种数据类型.相比其它数据类型,字符串算是比较复杂的.为何呢?因为字符串不仅包含英文字母 ...
- python基础-字符串(6)
一.引言 当打来浏览器登录某些网站的时候,需要输入密码,浏览器把密码传送到服务器后,服务器会对密码进行验证,其验证过程是把之前保存的密码与本次传递过去的密码进行对比,如果相等,那么就认为密码正确,否则 ...
- python基础——字符串、编码、格式化
1.三种编码:ascii Unicode utf8 2.字符串和编码数字的两个函数:ord(字符转数字ord(‘A’)=65)和 chr(数字转字符chr(65)=A) 3.bytes存储编码,记住两 ...
- [Python] Python基础字符串
Python的语法采用缩进的方式,一般使用四个空格,并且是大小写敏感的 字符编码 计算机只能处理数字,如果要处理文本,必须先把文本转换成数字才能处理 采用8个比特(bit)作为一个字节(byte) 一 ...
- Python基础(字符串和编码)
字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特 ...
随机推荐
- UVa 11107 (后缀数组 二分) Life Forms
利用height值对后缀进行分组的方法很常用,好吧,那就先记下了. 题意: 给出n个字符串,求一个长度最大的字符串使得它在超过一半的字符串中出现. 多解的话,按字典序输出全部解. 分析: 在所有输入的 ...
- 51nod1434 区间LCM
将n!标准分解.m!/n!必定需要包含n!的分解式.对于每个质数枚举最小的答案,然后总的取最大. #include<cstdio> #include<cstring> #inc ...
- codeforces 430 A Points and Segments (easy)
题意:给出n个点,m个区间,需要给这些点涂上蓝色或者红色,使得每个区间里面的点的红色的点的个数与蓝色的点的个数的差值小于1 唉,题目的标题就标注了一个easy= = 最开始做的时候对点还有区间都排序了 ...
- C#发送手机验证码
C#发送手机验证码,平台有很多,我就说说其中的1个平台 测试环境:.net2.0 测试效果:速度还可以,10秒内接收短信 1.去http://www.yuntongxun.com注册,会送8元测试金额 ...
- codevs 4919 线段树练习4
线段树水题.我是ziliuziliu,我是最强的#include<iostream> #include<cstdio> #include<cstring> #inc ...
- HDU 5269 ZYB loves Xor I (二分法)
题意: 给出一个序列,对每两个数求异或结果后取最低位的1出来作为一个数,然后求这些数字的和.比如:{a,b,c},结果是lowbit(a^b)+lowbit(a^c)+lowbit(b^a)+lowb ...
- ZOJ 3396 Conference Call(3点最小生成树)
题意:给出一组含m个点的无向图,再给出n个点,这n个点分别以一条边连接到这个无向图中的某个点.对于每个询问,求出3点连通的最小代价.有可能3个点是不能互通的.如图,最小代价就是红色的边的权之和. 思路 ...
- BPMN2新规范与Activiti5
上世纪九十年代以后,随着WfMC联盟的成立,BPM市场群雄逐鹿如火如荼,工作流技术得到了突飞猛进的发展,其中IBM.Oracle等大型软件厂商在工作流领域各扯大旗割据一方.2011年BPMN2.0新规 ...
- hibernate3和spring整合的一些方式
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Heritrix源码分析(十三) Heritrix的控制中心(大脑)CrawlController(二)
本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/650744 本博客已迁移到本人独立博客: http://www.yun5u. ...