参考链接: Python字符串方法3(strip,lstrip,rstrip,min,max,maketrans,translate,replace和expandtabs())

Python str常用方法

一、字母处理

1、全部大写:str.upper()

str1 = 'nostalgia'

str2 = str1.upper()

print(str2)

NOSTALGIA

2、全部小写:str.lower()

str1 = 'NOSTALGIA'

str2 = str1.lower()

print(str2)

nostalgia

3、大小写互换:str.swapcase

str1 = 'No Smouking'

str2 = str1.swapcase()

print(str2)

nO sMOUKING

4、首字母大写,其余小写:str.capitalize()

str1 = 'nostalgia fly'

str2 = str1.capitalize()

print(str2)

Nostalgia fly

5、首字母大写:str.title()

str1 = 'nostalgia fly'

str2 = str1.title()

print(str2)

Nostalgia Fly

6、应对所有字母的小写:str.casefold()

str.lower() 只能转换ASCII字母。

str1 = 'NOSTALGIA'

str2 = str1.casefold()

print(str2)

nostalgia

二、格式化

字符串格式化:str.format()

1,无参数

print("{}喜欢{}".format('tom','打球'))                 #不指定位置

print(('{0}除了{1}还是{1}').format('tom','打球') )     #指定位置

tom喜欢打球

tom除了打球还是打球

2,设置参数

dict1 = {'name':'tom','play':'打球'}

print('{name}非常喜欢{play}'.format(name='tom',play='打球'))

print('{name}非常喜欢{play}'.format(**dict1))                       #通过字典设置

print('{0[0]}非常喜欢{0[1]}'.format(['tom','打球']))               #通过列表设置

tom非常喜欢打球

tom非常喜欢打球

tom非常喜欢打球

test = 'i am {name}, age {a}'

v1 = test.format(name='df',a=10)

v2 = test.format_map({"name": 'alex', "a": 19})             #字典

print(v1)

print(v2)

i am df, age 10

i am alex, age 19

对数字的格式化

print('{:.2f}'.format(3.1415926))

3.14

{:.2f}—保留小数点后两位;{:+.2f}—带符号保留小数点后两位{:.0f}—不带小数{:0>5d}—数字补零 (右对齐, 宽度为5,剩余以0填充){:a<5d}—数字补a (左对齐, 宽度为5,剩余以a填充){:,}—以逗号分隔的数字{:.2%}—转换百分制并保留小数点后2位{:.2e}—指数计数并保留小数点后2位{:^10d}—中间对齐

字符串对齐

1、左对齐:str.ljust(width[, fillchar])

参数:width – 指定字符串长度;fillchar – 填充字符,默认为空格。

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

str1 = 'NOSTALGIA'

str2 = str1.ljust(20,'人')

print(str2)

NOSTALGIA人人人人人人人人人人人

2、右对齐:str.rjust(width[, fillchar])

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

str1 = 'NOSTALGIA'

str2 = str1.rjust(20,'&')

print(str2)

&&&&&&&&&&&NOSTALGIA

3、居中:str.center(width[, fillchar])

该方法返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。

str1 = 'NOSTALGIA'

str2 = str1.center(20,'@')

print(str2)

@@@@@NOSTALGIA@@@@@@

4、右对齐,以“0”填充:str.zfill(width)

返回指定长度的字符串,原字符串右对齐,前面填充0。

str1 = 'NOSTALGIA'

str2 = str1.zfill(22)

print(str2)

0000000000000NOSTALGIA

字符串断句:str.expandtabs(tabsize=8)

test1 = 'kkkkkkkl\t'

test2 = 'name\tage\tgender\ttom\t23\tmale\tlucy\t18\t'

print(test1.expandtabs(20))

print(test2.expandtabs(20))

kkkkkkkl

name                age                 gender              tom                 23                  male                lucy                18

三、字符串搜索

1、检测字符串中是否包含子字符串 :str.find(str, beg=0, end=len(string))

参数

str – 指定检索的字符串beg – 开始索引,默认为0。end – 结束索引,默认为字符串的长度。 如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

str1 = 'NOSTALGIA'

str2 = str1.find('no')

print(str2)

-1

str1 = 'NOSTALGIA'

str2 = str1.find('AL')

print(str2)

4

str1 = 'NOSTALGIA'

str2 = str1.find('AL',5)

print(str2)

-1

2、查找字符串最后一次出现的位置(从右向左查询)str.rfind(str, beg=0 end=len(string))

与find查看顺序相反

str1 = 'NOSTALGIAL'

str2 = str1.rfind('AL')

print(str2)

8

str1 = 'NOSTALGIAL'

str2 = str1.find('AL')

print(str2)

4

3、统计子字符串出现次数:str.count(sub, start= 0,end=len(string))

可选参数为在字符串搜索的开始与结束位置

str1 = 'NOSTALGIAL'

str2 = str1.count('AL')

print(str2)

2

4、index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内.

该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

str1 = 'NOSTALGIAL'

str2 = str1.index('oL')

print(str2)

---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-31-953941da824f> in <module>()

1 str1 = 'NOSTALGIAL'

----> 2 str2 = str1.index('oL')

3 print(str2)

ValueError: substring not found

5,通用方法

(1)获取字符串长度

test = 'wayjdsji124'

print(len(test))

11

(2)索引与下标

test = 'hello world'

print(test[3])

l

(3)切片

test = 'hello world'

print(test[:])

print(test[:-1])

print(test[3:-2])

hello world

hello worl

lo wor

(4)取出字符串每个字符

test = 'hello world'

for i in test:

print(i)

h

e

l

l

o

w

o

r

l

d

四、替换

1,字符串中的 old(旧字符串) 替换成 new(新字符串):str.replace(old, new[, max])

如果指定第三个参数max,则替换不超过 max 次。

str1 = "This is a good new.That is so bad.It is a big apple.It is a dog."

str2 = str1.replace("is","was",3)

print(str2)

Thwas was a good new.That was so bad.It is a big apple.It is a dog.

2,对应关系替换

test =  "abcde"

test1 = "12345"

sjd = "ayewurbnsmrcksjfdorkgelg"

qwe = str.maketrans("abcde", "12345")

new_sjd = sjd.translate(qwe)

print(new_sjd)

1y5wur2nsmr3ksjf4orkg5lg

五、字符串去除指定字符

1、移除头尾指定字符(默认空格):str.strip([chars])

str1 = '****       beauty   ********'

str2=str1.strip("*")

print(str2)

print(str2.strip())

beauty

beauty

2、去左侧指定字符(默认空格):str.lstrip([chars])

str1 = '****       beauty   ********'

str2=str1.lstrip("*")

print(str2)

beauty   ********

2、去左侧指定字符(默认空格):str.rstrip([chars])

str1 = '****       beauty   ********'

str2=str1.rstrip("*")

print(str2)

****       beauty

字符串分割

1、将字符串分割为列表:str.split(str=”“, num=string.count(str))

如果参数num 有指定值,则仅分隔 num+1 个子字符串

str1 = 'safdfg\nsfegewh\n12341y\n'

list1 = str1.split('\n',3)

print(list1)

['safdfg', 'sfegewh', '12341y', '']

2,根据指定的分隔符将字符串分割成三元数组:str.partition(str)

test = 'yourswater'

print(test.partition('s'))

('your', 's', 'water')

3,按照行(‘\r’, ‘\r\n’, \n’)将字符串分割成列表:str.splitlines([keepends])

keepends – 在输出结果里是否去掉换行符(‘\r’, ‘\r\n’, \n’),默认为 False,不包含换行符,如果为 True,则保留换行符。

str1 = 'ab c\n\nde fg\rkl\r\n'

print(str1.splitlines(False))

str2 = 'ab c\n\nde fg\rkl\r\n'

print(str2.splitlines(True))

['ab c', '', 'de fg', 'kl']

['ab c\n', '\n', 'de fg\r', 'kl\r\n']

七、字符串判断

1、以指定字符串开头:str.startswith(str, beg=0,end=len(string));

str1 = 'jefrewpflmspemg42sd'

print(str.startswith("w",5))

True

2、以指定字符串结尾:str.endswith(suffix[, start[, end]])

str1 = 'isoaldsjfj123ksl'

print(str1.endswith('s',3,-1))

True

3、检测字符串是否由字母和数字组成:str.isalnum()

str1 = 'fewf125hreh'

print(str1.isalnum())

True

4、检测字符串是否只由字母组成:str.isalpha()

str1 = 'sjdgnewombdfg'

print(str1.isalpha())

True

5、检测字符串是否只由数字组成:str.isdigit()  不能有任何字符,包括”.”

str1 = '3141592653'

print(str1.isdigit())

True

6、检测字符串是否由小写字母组成:str.islower()

str1 = 'sjfewovdogj'

print(str1.islower())

True

7、检测字符串是否全由大写字母组成:str.isupper()

str1 = 'USJEKKGHXKD'

print(str1.isupper())

True

八、连接

str.join(sequence) 将序列中的元素以指定的字符连接生成一个新的字符串

参数sequence -- 要连接的元素序列;

list1 = ['hels','sdfg','dsg','345']

dict1 = {'god':'sdf','dgg':'we','ewr':'435'}

tup1 = ('ty','rj','45')

s1 = {'we','34','12'}

print('-'.join(list1))

print('-'.join(dict1))

print('-'.join(tup1))

print('-'.join(s1))

hels-sdfg-dsg-345

god-dgg-ewr

ty-rj-45

34-12-we

[转载] Python str方法相关推荐

  1. [转载] python isinstance()方法的使用

    参考链接: Python isinstance() python isinstance()方法的使用 描述 Python中的 isinstance() 函数,是Python中的一个内置函数,用来判断一 ...

  2. [转载] python字符串方法有哪些_27种Python字符串操作方法大全

    参考链接: Python字符串方法3| strip,lstrip,rstrip,min,max,maketrans,translate,replace和expandtabs 1.去空格及特殊符号 代码 ...

  3. [转载] Python max() 方法

    参考链接: Python max() 描述 Python max() 方法返回字符串中最大的字母(26个字母中最大的是Z). 语法 max() 方法语法: max(S) 参数 S -- 字符串. 返回 ...

  4. [转载] Python str title()方法

    参考链接: Python 字符串String title 方法 目录 描述 语法 参数 返回值 使用示例 注意事项 1. 当字符串中的每个单词首字符本身就是大写 2. 当"单词"的 ...

  5. [转载] python 字符串方法大全

    参考链接: Python字符串| rpartition 4.7.1.字符串方法 字符串实现所有常见的序列操作,以及下面描述的其他方法. 字符串还支持两种类型的字符串格式化的,一个提供了很大程度的灵活性 ...

  6. python str方法的用法_Python基础之str常用方法、for循环

    初学python,有些地方可能还不够明白,希望各位看官发现我的错误后留言指正! 一.字符串的索引与切片 注:字符串的第一位的索引值是0 1.索引案例 1 s = 'abcd' 2 s1 =s[0]3 ...

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

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

  8. [转载] Python中字符串的处理方法

    参考链接: Python字符串方法1(find,rfind,startwith,endwith,islower,isupper,lower,upper,swapcase和title) 1.字符串 1 ...

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

    参考链接: Python的字符串Strings decode "专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.z ...

最新文章

  1. 代码 设计 生活 (2)--- 菜鸟
  2. 自适应分辨率可扩展二层JS下拉菜单
  3. 1060. [ZJOI2007]时态同步【树形DP】
  4. ubifs linux,ubifs使用方法
  5. TUM数据集制作BundleFusion数据集
  6. 第一范式,第二范式,第三范式,BCNF范式理解
  7. Android静态安全检测 - Broadcast Receiver组件暴露
  8. Struts2请求处理流程及源码分析
  9. linux记录iptables日志,linux – 如何配置syslog.conf文件,在单独的文件中记录iptables消息?...
  10. python练习题及答案-听说你python基础入门了?100个经典练习题送给你(附完整答案)...
  11. UI_UISlider控件
  12. 利用扩展双屏技术及Chrome浏览器,快速剖析优秀网页Div及CSS构成,并高效实现原型创作
  13. 316.去除重复字母
  14. vueAdmin-template-master十次方后台项目前端(已经完成初始化)下载地址
  15. 《代码整洁之道》读书笔记
  16. duet设置_Duet Display 使用体验 - iPad 变身扩展屏幕
  17. WiFi之SDIO接口
  18. 2009年9月手机搜索热门关键词排行榜
  19. 0.1 番外篇: UML 类图
  20. 微信小程序静态页面的实现

热门文章

  1. Java使用IntelliJ IDEA创建一个基于Swing的GUI图形化程序,打包发布为jar
  2. linux 会不会受到永恒之蓝漏洞,永恒之蓝漏洞复现(ms17-010)
  3. append在python中是什么意思_append在python里是什么意思
  4. vs cpp代码 添加汇编_C++ 汇编代码查看
  5. JAVA I/O基本操作
  6. 实验4 数据库的连接查询
  7. 入侵检测技术目的-发现黑客
  8. bzoj 1179: [Apio2009]Atm(Trajan+SPFA)
  9. bzoj 1642: [Usaco2007 Nov]Milking Time 挤奶时间(DP)
  10. HDU 6180 2017 多校训练:Schedule