如下学习python的字符串用法。

print(dir(str))

['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

如上是字符串的所有方法,一个一个看,共44个

1.返回第一个字母大写

capitalize(...)

capitalize() -> string

1
2
3
4
>>>a = 'hello world'
>>> b = a.capitalize()
>>> print (b)
Hello world

2.按指定长度填充特定字符

center(...)

S.center(width[, fillchar]) -> string

1
2
3
4
5
6
7
>>> a = 'linux'
>>> print a.center(7,'h')
hlinuxh
>>> print a.center(8,'h')
hlinuxhh
>>> print a.center(9,'h')
hhlinuxhh

3.查找某字符串出现的次数

count(...)

S.count(sub[, start[, end]]) -> int

1
2
3
4
5
6
7
8
9
>>> a = "this is my dog, i love this dog and it's a good dog!"
>>> print a.count('dog')
3
>>> print a.count('dog',15)
2
>>> print a.count('dog',15,30)
0
>>> print a.count('dog',15,32)
1

4.以指定的编码格式解码字符串。默认编码为字符串编码(适合python2中处理中文)

decode(...)

S.decode([encoding[,errors]]) ->object

1
2
3
b = 'strid'
>>> b.decode('utf-8')
u'strid'

5.用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置

endswith(...)

S.endswith(suffix[,start[, end]]) ->bool

1
2
3
4
5
6
7
>>> shaw = 'I am shaw,what\'s your name ?'
>>> shaw.endswith('?')
True
>>> shaw.endswith('w',7,9)
True
>>> shaw.endswith('w',7,8)
False

6.把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是8,tabsize -- 指定转换字符串中的 tab 符号('\t')转为空格的字符数。

expandtabs(...)

S.expandtabs([tabsize])-> string

1
2
3
4
5
6
7
>>> info = 'today is a good d\tay'
>>> print info.expandtabs()
today is a good d       ay
>>> print info.expandtabs(4)   # 把tab装换成4个空格
today is a good d   ay        
>>> printinfo.expandtabs(1)
today is a good d ay          # 把tab装换成1个空格

7.检测字符串中是否包含子字符串 str ,如果指定 beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,如果包含子字符串,则返回开始的索引值,否则返回-1。

find(...)

S.find(sub [,start [,end]])-> int

1
2
3
4
5
6
7
>>> a = 'stivenwang'
>>> a.find('w')
6
>>> a.find('w',9)
-1
>>> a.find('w',9,11)
-1

8.格式换字符串输出(方法与%相似,但可以指定顺序)

format(...)

S.format(*args, **kwargs)-> string

1
2
3
4
5
6
7
8
>>> name = 'StivenWang'
>>> fruit = 'apple'
>>> print 'my name is {},I like {}'.format(name,fruit)
my name is StivenWang,I like apple
>>> print 'my name is {1},I like {0}'.format(fruit,name)
my name is StivenWang,I like apple
>>> print 'my name is {mingzi},I like{shuiguo}'.format(shuiguo=fruit,mingzi=name)
my name is StivenWang,I like apple

9.检测字符串string中是否包含子字符串 str ,如果存在,则返回str在string中的索引值,如果指定beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常(ValueError: substring not found)。

index(...)

S.index(sub [,start [,end]])-> int

1
2
3
4
5
6
7
8
>>> str1 = "this is string example....wow!!!"
>>> str2 = "exam"
>>> print str1.index(str2)
15
>>> print str1.index(str2,20)
Traceback (most recent call last):
  File "<input>",line 1, in <module>
ValueError: substringnot found报错

10.检测字符串是否由字母或数字组成。

isalnum(...)

S.isalnum() -> bool

1
2
3
4
5
6
7
8
9
10
11
12
>>> a = '123'
>>> a.isalnum()
True
>>> b = 'shaw'
>>> b.isalnum()
True
>>> c = 'shaw123'
>>> c.isalnum()
True
>>> d = 'th 123'
>>> d.isalnum()
False

11.检测字符串是否只由字母组成

isalpha(...)

S.isalpha() -> bool

1
2
3
4
5
6
7
8
9
10
11
12
>> a = '123'
>>> a.isalpha()
False
>>> b = '123shaw'
>>> b.isalpha()
False
>>> c = 'shaw'
>>> c.isalpha()
True
>>> d = 'sha w'
>>> d.isalpha()
False

12.检测字符串是否只由数字组成。

isdigit(...)

S.isdigit() -> bool

1
2
3
4
5
6
7
8
9
>>> a = '123'
>>> a.isdigit()
True
>>> b = 'shaw'
>>> b.isdigit()
False
>>> c = '123shaw'
>>> c.isdigit()
False

13.检测字符串是否由小写字母组成。

islower(...)

S.islower() -> bool

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> a = 'shaw'
>>> a.islower()
True
>>> b = '123'
>>> a.islower()
True
>>> c = '123shaw'
>>> c.islower()
True
>>> d = 'SHAW'
>>> d.islower()
False
>>> e = '123SHAW'
>>> e.islower()
False

14.检测字符串是否只由空格组成。

isspace(...)

S.isspace() -> bool

1
2
3
4
5
6
7
8
9
>>> a = ' '
>>> a.isspace()
True
>>> a = '123'
>>> a.isspace()
False
>>> a = 'shaw'
>>> a.isspace()
False

15.检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。

istitle(...)

S.istitle() -> bool

1
2
3
4
5
6
7
8
9
>>> a = 'Shaw'
>>> a.istitle()
True
>>> a = 'Shaw123'
>>> a.istitle()
True
>>> a = '123'
>>> a.istitle()
False

16.检测字符串中所有的字母是否都为大写

isupper(...)

S.isupper() -> bool

1
2
3
4
5
6
7
8
9
10
11
12
>>> a = '123'
>>> a.isupper()
False
>>> a = 'Shaw'
>>> a.isupper()
False
>>> a = 'Shaw123'
>>> a.isupper()
False
>>> a = 'SHAW123'
>>> a.isupper()
True

17.用于将序列中的元素以指定的字符连接生成一个新的字符串。

join(...)

S.join(iterable) ->string

1
2
3
4
>>> a = '-'
>>> b = 'shaw'
>>> print a.join(b)
s-h-a-w

18.返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

ljust(...)

S.ljust(width[, fillchar])-> string

width -- 指定字符串长度

fillchar -- 填充字符,默认为空格

1
2
3
4
5
>>> s = 'shaw'
>>> s.ljust(10)
'shaw      '
>>> s.ljust(10,'8')
'shaw888888'

19.转换字符串中所有大写字符为小写。

Lower(...)

S.lower() -> string

1
2
3
4
5
6
>>> s = 'PYTHON'
>>> s.lower()
'python'
>>> s = 'PYTHON123'
>>> s.lower()
'python123'

20.用于截掉字符串左边的空格或指定字符。

lstrip(...)

S.lstrip([chars]) ->string or unicode

1
2
3
4
5
6
>>> s = '%%%shaw'
>>> s.lstrip('%')
'shaw'
>>> s = '   shaw'
>>> s.lstrip()
'shaw'

21.根据指定的分隔符将字符串进行分割(返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串)

partition(...)

S.partition(sep) ->(head, sep, tail)

1
2
3
>>> S = 'are you know:lilin is lowser'
>>> S.partition('lilin')
('are you know:', 'lilin', ' is lowser')

22.把字符串中的 old(旧字符串)替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

replace(...)

S.replace(old, new[,count]) -> string

1
2
3
>>> S = 'shaw'
>>> S.replace('sh','LI')
'LIaw'

23.返回字符串最后一次出现的位置,如果没有匹配项则返回-1。

rfind(...)

S.rfind(sub [,start[,end]]) -> int

str -- 查找的字符串

beg -- 开始查找的位置,默认为0

end -- 结束查找位置,默认为字符串的长度。

1
2
3
4
5
>>> s = 'lilin is good li lao ban'
>>> s.rfind('li')
14
>>> s.rfind('li',0,8)
2

24.返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。

rindex(...)

S.rindex(sub [,start[,end]]) -> int

语法:

str.rindex(str,beg=0 end=len(string))

1
2
3
4
5
6
7
8
9
>>> s = 'my name is shaw'
>>> s.rindex('s')
11
>>> s.rindex('s',5,10)
9
>>> s.rindex('s',2,8)
Traceback (most recent call last):
  File "<input>",line 1, in <module>
ValueError: substring not found

25.返回的原/新字符串右对齐,且默认使用空格填充至指定长度(width)的新字符串。如果指定的长度(width)小于原字符串的长度则返回原字符串

rjust(...)

S.rjust(width[, fillchar])-> string

语法:

str.rjust(width[,fillchar])

width -- 指定填充指定字符后新字符串的总长度.

fillchar– 要填充的字符,默认为空格。

1
2
3
4
5
6
7
>>> s = 'sch'
>>> s.rjust(20)
'                 sch'
>>> s.rjust(20,'0')
'00000000000000000sch'
>>> s.rjust(20,'H')
'HHHHHHHHHHHHHHHHHsch'

26.删除 string 字符串末尾的指定字符(默认为空格).

rstrip(...)

S.rstrip([chars]) ->string or unicode

语法:

str.rstrip([chars])

1
2
3
>>> s = 'shaw\n'
>>> s.rstrip('\n')
'shaw'

27.通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔 num 个子字符串

split(...)

S.split([sep [,maxsplit]])-> list ofstrings

语法:

str.split(str="",num=string.count(str)).

1
2
3
4
5
>>> s = 'shaw\nlinux\nmac'
>>> s.split('\n')
['shaw', 'linux', 'mac']
>>> s.split('\n',1)
['shaw', 'linux\nmac']

28.按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.

splitlines(...)

S.splitlines(keepends=False)-> list ofstrings

语法:

str.splitlines( num=string.count('\n'))

num -- 分割行的次数。

1
2
3
4
5
6
>>> s = 'what\'s your name?\n my name is shaw\n how old areyou?'
>>> s.splitlines()
["what's your name?", ' my name is shaw', ' how old areyou?']
>>> s.splitlines(1)
["what's your name?\n", ' my name is shaw\n', ' how old areyou?']
>>> s.splitlines(3)

29.用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end指定值,则在指定范围内检查。

startswith(...)

S.startswith(prefix[,start[, end]]) ->bool

语法:

str.startswith(str,beg=0,end=len(string))

str -- 检测的字符串。

strbeg -- 可选参数用于设置字符串检测的起始位置。

strend -- 可选参数用于设置字符串检测的结束位置。

1
2
3
4
5
>>> s = 'my name is shaw'
>>> s.startswith('my')
True
>>> s.startswith('my',10,15)
False

30.用于移除字符串头尾指定的字符(默认为空格)。

strip(...)

S.strip([chars]) ->string or unicode

1
2
3
>>> s = 'my name is sam'
>>> s.strip('m')
'y name is sa'

31.用于对字符串的大小写字母进行转换(小写转大写,大写转小写)

swapcase(...)

S.swapcase() -> string

1
2
3
4
5
6
>>> s = 'stiven'
>>> s.swapcase()
'STIVEN'
>>> s = 'SHAW'
>>> s.swapcase()
'shaw'

32.返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写。

title(...)

S.title() -> string

1
2
3
>>> s = 'my name is shaw'
>>> s.title()
'My Name Is Shaw'

33.根据参数table给出的表(包含 256 个字符)转换字符串的字符, 并返回翻译后的字符串。要过滤掉的字符放到del 参数中

translate(...)

S.translate(table [,deletechars])->string

语法:

str.translate(table[, deletechars])

table -- 翻译表,翻译表是通过maketrans方法转换而来。

deletechars -- 字符串中要过滤的字符列表。

1
2
3
4
5
6
7
8
9
>>> from string import maketrans
suchas = maketrans('sm','@$')
>>> s = 'this is sam\'s dog'
>>> s
"this is sam's dog"
>>> s.translate(suchas)
"thi@ i@ @a$'@ dog"
>>> s.translate(suchas,'dog') 去除d,o,g字符
"thi@ i@ @a$'@ "

34.将字符串中的小写字母转为大写字母

upper(...)

S.upper() -> string

1
2
3
4
5
6
7
8
9
>>> s = 'sam'
>>> s.upper()
'SAM'
>>> s = '23sam'
>>> s.upper()
'23SAM'
>>> s = '23s am'
>>> s.upper()
'23S AM'

转载于:https://www.cnblogs.com/kkterry/p/5996570.html

[terry笔记]Python字符串相关推荐

  1. Python学习笔记--Python字符串连接方法总结

    声明: 这些总结的学习笔记,一部分是自己在工作学习中总结,一部分是收集网络中的知识点总结而成的,但不到原文链接.如果有侵权,请知会,多谢. python中有很多字符串连接方式,总结一下: 1)最原始的 ...

  2. [转载] [转载] python 去除字符串的标点符号 用_Python成为专业人士笔记–String字符串方法

    参考链接: Python字符串| 十六进制 hexdigits 参考链接: Python的字符串Strings decode "专业人士笔记"系列目录: 创帆云:Python成为专 ...

  3. 【廖雪峰python入门笔记】字符串_转义字符的使用

    转义字符的使用 字符串可以用''或者""括起来表示. 如果字符串本身包含'怎么办?比如我们要表示字符串 I'm OK ,这时,可以用" "括起来表示: &quo ...

  4. 【Python笔记】字符串常见操作

    Python字符串常见操作 字符串的拼接 计算字符串的长度 截取字符串 分隔字符串 字符串的替换 字符串的检索 字符串大小写转换 去掉字符串中的空格和特殊字符 格式化字符串 字符串的拼接 字符串不允许 ...

  5. python学习笔记:去掉python字符串中空格的方法总结

    去掉python字符串中空格的方法总结 在python的字符串处理过程中,有一个很常见的操作的是去掉字符串中的空格,python提供了以下四个函数来实现该操作: (1) lstrip()函数 (2) ...

  6. scrapy笔记——python的时间转换

    1 import datetime 2 GMT_FORMAT = '%M %H %d %m %w' 3 datetime.datetime.utcnow().strftime(GMT_FORMAT) ...

  7. 【Python】55个案例:吃透Python字符串格式化

    公众号:尤而小屋 作者:Peter 编辑:Peter 在上一篇Python字符串初相识中,我们介绍了字符串的很多基础内容.本文中介绍的字符串一个非常重要的知识点:字符串格式化输出. python入门教 ...

  8. python字符串常用方法、分割字符串等

    一.字符串的常用方法 1.str.capitalize()  字符串首字母大写 2.str.center()  把字符串居中 3.str.isalnum() 判断字符串是否含有英文.数字,若有英文和数 ...

  9. python 字符串结束符_python字符串以反斜杠结尾

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! eol while scanning string literal解析器似乎可以 ...

最新文章

  1. pycharm安装numpy
  2. MYSQL批量插入数据库实现语句性能分析
  3. Spring源代码研究之how is Bean object created
  4. CentOS6最小化安装默认启动的服务说明
  5. ***使用PHP实现文件上传和多文件上传
  6. 无线远程温湿度监测!(DS18B20+DHT21数码管显示)
  7. 以修改注册表的方式避免ACK确认机制带来的延时现象
  8. 软件工程实践总结--个人作业
  9. java递归求和_java递归算法求和有哪些方式实现?
  10. linux wine qq2017,Linux Mint 18 安装wine 2.0 加qq7.9轻聊版
  11. 管道无损检测python_初用python-docx
  12. 《华为基本法》-笔记
  13. Vue项目启动时自动打开浏览器
  14. m4a转mp3方法,m4a转mp3步骤
  15. 邓白氏编码官方查询地址
  16. win10 dpc_watchdog_violation 蓝屏
  17. 软件测试 学习之路 SQL语言及navicat使用
  18. (二)Redis数据类型和操作
  19. python幸运数字判断_Python矩阵的幸运数字
  20. FineUI中用JS在前端与后端中传数据

热门文章

  1. 定积分之几种常见曲线
  2. php可以开发大型网站吗?其实这个问题不用回答
  3. mwt是什么意思网络用语_skr、xswl、zsqg…这些网络用语你知道是什么意思吗?
  4. PS——使用 快速选择工具、魔法棒 抠图
  5. CVF转IVF可能遇到的问题
  6. 创建一个最简单的win32应用程序
  7. 运用数学软件matlab求无穷积分,matlab积分的计算及其简单应用论文.doc
  8. 计算机配件仓库照片,配件仓库存管理技巧
  9. MySQL数据库基础详解(非原创)
  10. 史上最“奇葩”相亲男惊呆网友:你那么普通,却那么自信