Python字符串str的章程应用,Python3中操作字符串

作者:计算机知识

                                         Str字符串的成效介绍

Python字符串str的办法运用,python字符串str

#!usr/bin/env python
# -*-coding:utf-8-*-
#字符串通常用双引号或单引号来表示:'123',"abc","字符串"
#str字符串的常用方法有以下:字符串可以用于赋值临时变量s
#友情提示以下全是python2.x版本演示,python3.x请在print(放入测试打印),例如:print(len(s))
from string import maketrans
s3 = '123'
s2 = '   '
s1 = 'This Is t Cash'
s='abcdefghijklmnopqrstuvwxyz'
s4 = "0000000this is string example....wow!!!0000000"
s5 = 'ab cnnde fgrklrn'
print s[0:6]    #切片,截取字符串中的一段(以下标的起始位置到结束位置)
print len(s)    #统计字符串的长度
print s.ljust(50,'0'),'--->ljust方法'   #返回一个原字符串右用字符串0填充左对齐并宽度50的新字符串
print s.rjust(50,'0'),'--->rjust方法'   #返回一个原字符串左用字符串0填充右对齐并宽度50的新字符串
print s.capitalize(),'--->capitalize方法'    #返回字符串首字母大写的副本
print s.center(50,'*'),'--->center方法'  #表示原字符串居中两边填充宽度的用法
print format(s, '.3'),'--->format方法'   #格式化输出也可当切片用的方式
print s.upper(),'--->upper方法' #将小写字母转换成大写字母
print s.lower(),'--->lower方法' #将大写字母转换成小写字母
print s3.isdigit(),'--->isdigit方法'   #判断字符串如果是数字返回真True,不是返回假False
print s.startswith('abc'),'--->startswith方法'   #判断字符串是否是以abc开头如果是返回真,否则返回假
print s.endswith('zz'),'--->endswith方法'  #判断字符串是否以yz结尾是返回真,否则返回假
print s1.expandtabs(),'--->expandtabs方法'   #把字符串中的 tab 符号('t')转为空格,tab 符号('t')默认的空格数是8
print s.isalnum(),'--->isalnum方法'   #判断字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
print s.isalpha(),'--->isalpha方法'   #判断字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
print s2.isspace(),'--->isspace方法'  #判断字符串中只包含空格,则返回 True,否则返回 False
print s1.istitle(),'--->istitle方法'   #如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False
print s4.strip("0"),'--->strip方法' #返回移除字符串头尾指定的字符生成的新字符串
print s.find('sd'),'--->find方法'   #检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
print s.index('s'),'--->index方法'  #检查是否包含在指定范围内,该方法与find()方法一样,只不过如果不在字符串中会报一个异常
print s.partition("k"),'--->partition方法'  #生成一个分隔符k,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
print s1.swapcase(),'--->swapcase方法' #返回大小写字母转换后生成的新字符串
print s5.splitlines(),'--->splitlines方法'   #返回一个包含各行作为元素的列表
print s2.join(s3),'--->join方法'   #返回通过指定字符连接序列中元素后生成的新字符串
print s3.translate(maketrans(s3,s2)) #返回翻译后的字符串(有点复杂)自信百度补脑
print s3.zfill(10),'--->zfill方法'  #返回指定宽度的字符串原字符串右对齐,前面填充0
#以下打印输出:

图片 1

#!usr/bin/env python # -*-coding:utf-8-*- #字符串日常用双引号或单引号来表示:'1二三',"abc","字符串" #str字符串...

Python叁中操作字符串str必须牢记的多少个艺术,python3str

多少个Python的字符串常用内建函数

1.方法:Python3 isdigit()方法

 描述:Python isdigit() 方法检验字符串是不是只由数字构成。

 语法:str.isdigit()

 参数:无

 重回值:假如字符串只包涵数字则赶回 True 不然再次来到 False。

 实例:

 1 str = "123456"; 
 2 print (str.isdigit())
 3 
 4 str = "abcdef"
 5 print (str.isdigit())
 6 
 7 
 8 # 输出结果
 9 True
10 False

 

2.方法:Python3 replace()方法

 描述:replace() 方法把字符串中的 old(旧字符串) 替换来new(新字符串),假使钦命第多个参数max,则替换不超过 max 次。

 语法:str.replace(old, new[, max])

 参数:

  • old -- 将被轮换的子字符串。
  • new -- 新字符串,用于替换old子字符串。
  • max -- 可选字符串, 替换不超过 max 次

 重临值:再次来到字符串中的 old(旧字符串) 替换到new(新字符串)后生成的新字符串,如若钦点第伍个参数max,则替换不超过 max 次。

 实例:

 1 str = "www.w3cschool.cc"
 2 print ("菜鸟教程旧地址:", str)
 3 print ("菜鸟教程新地址:", str.replace("w3cschool.cc", "runoob.com"))
 4 
 5 str = "this is string example....wow!!!"
 6 print (str.replace("is", "was", 3))
 7 
 8 
 9 # 输出结果
10 菜鸟教程旧地址: www.w3cschool.cc
11 菜鸟教程新地址: www.runoob.com
12 thwas was string example....wow!!!

 

3.方法:Python3 find()方法

 描述:find() 方法检查评定字符串中是或不是含有子字符串 str ,如若钦定beg(初始) 和 end(甘休) 范围,则检查是或不是带有在钦点范围内,如若钦命范围内假使含有钦命索引值,重临的是索引值在字符串中的起先地方。如若不包括索引值,再次回到-一。

 语法:str.find(str, beg=0, end=len(string))

 参数:

  • str -- 钦赐检索的字符串
  • beg -- 起头索引,默以为0。
  • end -- 甘休索引,默以为字符串的长短。

 重回值:假如带有子字符串重返初叶的索引值,否则重返-一。

 实例:

 1 str1 = "Runoob example....wow!!!"
 2 str2 = "exam";
 3  
 4 print (str1.find(str2))
 5 print (str1.find(str2, 5))
 6 print (str1.find(str2, 10))
 7 
 8 # 输出结果
 9 7
10 7
11 -1

 扩充实例(Python 叁.0 ):

 1 # 实例(Python 3.0 )
 2 
 3 >>>info = 'abca'
 4 >>> print(info.find('a'))      # 从下标0开始,查找在字符串里第一个出现的子串,返回结果:0
 5 0
 6 >>> print(info.find('a', 1))   # 从下标1开始,查找在字符串里第一个出现的子串:返回结果3
 7 3
 8 >>> print(info.find('3'))      # 查找不到返回-1
 9 -1
10 >>>

 

4.方法:Python3 count()方法

 描述:count() 方法用于总括字符串里某些字符出现的次数。可选参数为在字符串找寻的开端与甘休地方。

 语法:str.count(sub, start= 0,end=len(string))

 参数:

  • sub -- 寻找的子字符串
  • start -- 字符串初阶寻觅的职分。默以为第1个字符,第3个字符索引值为0。
  • end -- 字符串中得了寻找的任务。字符中首先个字符的目录为 0。默以为字符串的末尾1个职位。

 再次来到值:该形式重回子字符串在字符串中出现的次数。

 实例:

 1 str="www.runoob.com"
 2 sub='o'
 3 print ("str.count('o') : ", str.count(sub))
 4 
 5 sub='run'
 6 print ("str.count('run', 0, 10) : ", str.count(sub,0,10))
 7 
 8 
 9 # 输出结果
10 str.count('o') :  3
11 str.count('run', 0, 10) :  1

 

5.方法:Python3 strip()方法

 描述:Python strip() 方法用于移除字符串头尾钦定的字符(默以为空格)。

 语法:str.strip([chars]);

Python字符串str的章程应用,Python3中操作字符串str必须记住的多少个点子。 参数:

  • chars -- 移除字符串头尾钦赐的字符。

 再次来到值:再次来到移除字符串头尾钦定的字符生成的新字符串。

 实例:

1 str = "*****this is string example....wow!!!*****"
2 print (str.strip( '*' ))
3 
4 
5 # 输出结果
6 this is string example....wow!!!

 

6.方法:Python3 split()方法

 描述:split()通过点名分隔符对字符串进行切开,如若参数num 有钦定值,则仅相隔 num 个子字符串

 语法:str.split(str="", num=string.count(str))

 参数:

  • str -- 分隔符,默感到全部的空字符,蕴涵空格、换行(n)、制表符(t)等。
  • num -- 分割次数。

 再次来到值:重临分割后的字符串列表。

 实例:

 1 str = "this is string example....wow!!!"
 2 print (str.split( ))
 3 print (str.split('i',1))
 4 print (str.split('w'))
 5 
 6 
 7 # 输出结果
 8 ['this', 'is', 'string', 'example....wow!!!']
 9 ['th', 's is string example....wow!!!']
10 ['this is string example....', 'o', '!!!']

 

7.方法:Python3 center()方法

 描述:center() 方法重回二个点名的上涨的幅度 width 居中的字符串,fillchar 为填充的字符,默以为空格。

 语法:str.center(width[, fillchar])

 参数:

  • width -- 字符串的总宽度。
  • fillchar -- 填充字符。

 重临值:再次回到二个点名的增长幅度 width 居中的字符串,如果 width 小于字符串宽度直接重回字符串,否则使用 fillchar 去填充。

 实例:

1 str = "[www.runoob.com]"
2 
3 print ("str.center(40, '*') : ", str.center(40, '*'))
4 
5 
6 # 输出结果
7 str.center(40, '*') :  ************[www.runoob.com]************

 

8.方法:Python3 join()方法

 描述:Python join() 方法用于将系列中的元素以钦点的字符连接生成二个新的字符串。

 语法:str.join(sequence)

 参数:

  • sequence -- 要两次三番的要素体系。

 重返值:再次回到经过点名字符连接种类相月素后改造的新字符串。

 实例:

 1 s1 = "-"
 2 s2 = ""
 3 seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
 4 print (s1.join( seq ))
 5 print (s2.join( seq ))
 6 
 7 
 8 # 输出结果
 9 r-u-n-o-o-b
10 runoob

 

9.方法:Python3 maketrans()方法

 描述:

 

   注:Python3.四业已未有string.maketrans()了,替代它的是内建函数: bytearray.maketrans()、bytes.maketrans()、str.maketrans()

 

 语法:str.maketrans(intab, outtab)

 参数:

  • intab -- 字符串中要代表的字符组成的字符串。
  • outtab -- 相应的映射字符的字符串。

 再次回到值:重返字符串调换后生成的新字符串。

 实例:

 1 intab = "aeiou"
 2 outtab = "12345"
 3 trantab = str.maketrans(intab, outtab)
 4 
 5 str = "this is string example....wow!!!"
 6 print (str.translate(trantab))
 7 
 8 
 9 # 输出结果
10 th3s 3s str3ng 2x1mpl2....w4w!!!

 

10.方法:Python3 translate()方法

  描述:translate() 方法依据参数table给出的表(包蕴 2陆20个字符)转变字符串的字符,要过滤掉的字符放到 deletechars参数中。

  语法:

  • str.translate(table[, deletechars]);
  • bytes.translate(table[, delete])
  • bytearray.translate(table[, delete])

  参数:

  • table -- 翻译表,翻译表是通过 maketrans() 方法转换而来。
  • deletechars -- 字符串中要过滤的字符列表。

  再次回到值:重返翻译后的字符串,若给出了 delete 参数,则将原来的bytes中的属于delete的字符删除,剩下的字符要遵照table中提交的炫人眼目来开始展览映射 。

  实例:

实例(Python 3.0 )

 1 intab = "aeiou"
 2 outtab = "12345"
 3 trantab = str.maketrans(intab, outtab)   # 制作翻译表
 4  
 5 str = "this is string example....wow!!!"
 6 print (str.translate(trantab))
 7 
 8 
 9 # 输出结果
10 th3s 3s str3ng 2x1mpl2....w4w!!!

  实例:演示过滤掉字符'o'

1 # 制作翻译表
2 bytes_tabtrans = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
3  
4 # 转换为大写,并删除字母o
5 print(b'runoob'.translate(bytes_tabtrans, b'o'))
6 
7 
8 # 输出结果
9 b'RUNB'

 

11.措施:Python format 格式化函数

  描述:

  

实例

 1 >>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
 2 'hello world'
 3  
 4 >>> "{0} {1}".format("hello", "world")  # 设置指定位置
 5 'hello world'
 6  
 7 >>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
 8 'world hello world'
 9 
10 >>> 

  也足以安装参数:

实例

 1 # -*- coding: UTF-8 -*-
 2  
 3 print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
 4  
 5 # 通过字典设置参数
 6 site = {"name": "菜鸟教程", "url": "www.runoob.com"}
 7 print("网站名:{name}, 地址 {url}".format(**site))
 8  
 9 # 通过列表索引设置参数
10 my_list = ['菜鸟教程', 'www.runoob.com']
11 print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的
12 
13 
14 # 输出结果
15 网站名:菜鸟教程, 地址 www.runoob.com
16 网站名:菜鸟教程, 地址 www.runoob.com
17 网站名:菜鸟教程, 地址 www.runoob.com

  也足以向str.format() 传入对象:

实例

 1 # -*- coding: UTF-8 -*-
 2  
 3 class AssignValue(object):
 4     def __init__(self, value):
 5         self.value = value
 6 my_value = AssignValue(6)
 7 print('value 为: {0.value}'.format(my_value))  # "0" 是可选的
 8 
 9 
10 # 输出结果
11 value 为: 6

  数字格式化

  下表展示了 str.format() 格式化数字的有余方法:

1 >>> print("{:.2f}".format(3.1415926));
2 3.14
数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {: .2f} 3.14 带符号保留小数点后两位
-1 {: .2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e 09 指数记法
13 {:10d}         13 右对齐 (默认, 宽度为10)
13 {:<10d} 13 左对齐 (宽度为10)
13 {:^10d}     13 中间对齐 (宽度为10)
11
'{:b}'.format(11)
'{:d}'.format(11)
'{:o}'.format(11)
'{:x}'.format(11)
'{:#x}'.format(11)
'{:#X}'.format(11)
1011
11
13
b
0xb
0XB
进制

  别的大家得以选取大括号 {} 来转义大括号,如下实例:

实例

1 # -*- coding: UTF-8 -*-
2  
3 print ("{} 对应的位置是 {{0}}".format("runoob"))
4 
5 
6 # 输出结果
7 runoob 对应的位置是 {0}

 

  以上内容摘至菜鸟教程,为学习Python中字符串常用内建函数的就学笔记,仅供参谋,如存在错误请建议,12分感激!

  以上仅为Python中字符串部分常用内建函数,越来越多字符串内建函数请参阅新手教程-

多少个Python的字符串常用内建函数 一.情势:Python三isdigit()方法 描述:Python isdigit() 方法检验...

Python中字符串格式化str.format的详尽介绍,pythonstr.format

前言

Python 在 二.陆 版本中新加了3个字符串格式化方法: str.format() 。它的主题语法是由此 {} 和 : 来替代原先的 %.。

格式化时的占位符语法:

replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}"

“映射”规则

通过岗位

str.format()尚可不限个参数,地方能够不按梯次:

>>> "{0} {1}".format("hello", "world")
'hello world'
>>> "{} {}".format("hello", "world")
'hello world'
>>> "{1} {0} {1}".format("hello", "world")
'world hello world'

经过机要字参数

采取重要参数时字符串中供给提供参数名:

>>> "I am {name}, age is {age}".format(name="huoty", age=18)
'I am huoty, age is 18'
>>> user = {"name": "huoty", "age": 18}
>>> "I am {name}, age is {age}".format(**user)
'I am huoty, age is 18'

经过对象属性

str.format()能够平昔读取用户属性:

>>> class User(object):
...  def __init__(self, name, age):
...   self.name = name
...   self.age = age
...   
...  def __str__(self):
...   return "{self.name}({self.age})".format(self=self)
...  
...  def __repr__(self):
...   return self.__str__()
...  
...
>>> user = User("huoty", 18)
>>> user
huoty(18)
>>> "I am {user.name}, age is {user.age}".format(user=user)
'I am huoty, age is 18'

经过下标

在急需格式化的字符串内部能够通过下标来访问成分:

>>> names, ages = ["huoty", "esenich", "anan"], [18, 16, 8]
>>> "I am {0[0]}, age is {1[2]}".format(names, ages)
'I am huoty, age is 8'
>>> users = {"names": ["huoty", "esenich", "anan"], "ages": [18, 16, 8]}
>>> "I am {names[0]}, age is {ages[0]}".format(**users)

点名转化

能够钦定字符串的中间转播项目:

 conversion ::= "r" | "s" | "a"

其中 "!r" 对应 repr(); "!s" 对应 str(); "!a" 对应 ascii()。 示例:

>>> "repr() shows quotes: {!r}; str() doesn't: {!s}".format('test1', 'test2')
"repr() shows quotes: 'test1'; str() doesn't: test2"

格式限定符

填充与对齐

填充常跟对齐一同使用。^, <, > 分别是居中、左对齐、右对齐,后边带宽度, : 号后边带填充的字符,只可以是三个字符,不点名则私下认可是用空格填充。

>>> "{:>8}".format("181716")
' 181716'
>>> "{:0>8}".format("181716")
'00181716'
>>> "{:->8}".format("181716")
'--181716'
>>> "{:-<8}".format("181716")
'181716--'
>>> "{:-^8}".format("181716")
'-181716-'
>>> "{:-<25}>".format("Here ")
'Here -------------------->'

浮点精度

用 f 表示浮点类型,并得以在其日前加上精度调整:

>>> "[ {:.2f} ]".format(321.33345)
'[ 321.33 ]'
>>> "[ {:.1f} ]".format(321.33345)
'[ 321.3 ]'
>>> "[ {:.4f} ]".format(321.33345)
'[ 321.3335 ]'
>>> "[ {:.4f} ]".format(321)
'[ 321.0000 ]'

还足认为浮点数钦点符号, 代表在正数前展示 ,负数前呈现 -; (空格)表示在正数前加空格,在幅负数前加 -;- 与什么都不加({:f})时一样:

>>> '{: f}; {: f}'.format(3.141592657, -3.141592657)
' 3.141593; -3.141593'
>>> '{: f}; {: f}'.format(3.141592657, -3.141592657)
' 3.141593; -3.141593'
>>> '{:f}; {:f}'.format(3.141592657, -3.141592657)
'3.141593; -3.141593'
>>> '{:-f}; {:-f}'.format(3.141592657, -3.141592657)
'3.141593; -3.141593'
>>> '{: .4f}; {: .4f}'.format(3.141592657, -3.141592657)
' 3.1416; -3.1416'

钦点进制

>>> "int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(18)
'int: 18; hex: 12; oct: 22; bin: 10010'
>>> "int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}".format(18)
'int: 18; hex: 0x12; oct: 0o22; bin: 0b10010'

千位分隔符

能够使用 "," 来作为千位分隔符:

>>> '{:,}'.format(1234567890)
'1,234,567,890'

比例出示

>>> "progress: {:.2%}".format(19.88/22)
'progress: 90.36%'

实在,format 还支持越来越多的类别符号:

type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

任何本事

占位符嵌套

一些时候占位符嵌套依然很有用的:

>>> '{0:{fill}{align}16}'.format("hello", fill='*', align='^')
'*****hello******'
>>>
>>> for num in range(5,12):
...  for base in "dXob":
...   print("{0:{width}{base}}".format(num, base=base, width=5), end=' ')
...  print()
...  
...
 5  5  5 101
 6  6  6 110
 7  7  7 111
 8  8 10 1000
 9  9 11 1001
 10  A 12 1010
 11  B 13 1011

作为函数使用

能够先不点名格式化参数,而是在毫不的地方作为函数来调用:

>>> email_f = "Your email address was {email}".format
>>> print(email_f(email="[email protected]"))
Your email address was [email protected]

转义大括号

当在字符串中要求使用大括号时能够用大括号转义:

>>> " The {} set is often represented as { {0} } ".format("empty")
' The empty set is often represented as {0} '

总结

如上正是那篇文章的全部内容了,希望本文的从头到尾的经过对大家的上学或许职业能拉动一定的帮衬,倘若有疑点大家能够留言沟通,多谢我们对帮客之家的协助。

前言 Python 在 二.陆 版本中新加了三个字符串格式化方法: str.format() 。它的主导语法是...

本文由bwin必赢发布,转载请注明来源

关键词: