字符串操作

+ 字符串连接操作

str1 = 'aaaaaa'
str2 = 'bbbbbbbb'
print(str1+str2)
# aaaaaabbbbbbbb

* 字符串复制操作

str = '☆'
print(str * 10)
# ☆☆☆☆☆☆☆☆☆☆

[] 字符串索引

通过索引访问指定位置的字符,索引从头(0)开始,尾(-1)开始

str = 'Hello World !'
print(str[0])
# H

[开始索引: 结束索引: 间隔符] 字符串切片操作

str = 'Hello World !'
print(str[0:5])
# Hello

r 元字符串,字符串中的转移字符不会转移,当作普通字符

str = '\nHel\rlo Wo\trld !'
print(str)
str = r'\nHel\rlo Wo\trld !'
print(str)
# lo Wo rld !
# \nHel\rlo Wo\trld !

字符串函数

capitalize 字符串首字母大写

str = 'hello world!'
print( str.capitalize() )
# Hello world!

title 每个单词首字母大写

str = 'hello world!'
print( str.title() )
# Hello World!

upper 每个字母变大写

str = 'hello world!'
print( str.upper() )
# HELLO WORLD!

lower 每个字母变小写

str = 'HELLO WORLD!'
print( str.lower() )
# hello world!

swapcase 大小写互换

str = 'HELLO world!'
print( str.swapcase() )
# hello WORLD!

len() 计算字符串的长度

str = 'hello world!'
print( len(str) )
# 12

count 计算某个字符串出现的次数

字符串.count(查找字符串, [,开始索引, 结束索引])

str = 'hello world!'
print( str.count('l') )
# 3

find 计算某个字符串第一次出现的位置

字符串.find(查找字符串, [,开始索引, 结束索引])
找不到, 返回-1

str = 'hello world!'
print( str.find('l') )
# 2

index 计算某个字符串第一次出现的位置

字符串.index(查找字符串, [,开始索引, 结束索引])
找不到, 抛出异常错误

str = 'hello world!'
print( str.find('l') )
# 2

startswith 检测是否以某字符串开头

url = "http://www.baidu.com/s?ie=utf-8"
print( url.startswith('http') )
# Trueprint( url.startswith('https') )
# False

endswith 检测是否以某字符串结尾

isupper & islower 检测字符串(英文字母)是否都是大写 | 小写字母

print('HELLO WORLD'.isupper())
# Trueprint('hello world'.isupper())
# True

isalnum 检测字符串是否由数字,字母和文字等组成

print( '1234567890abcd你好'.isalnum() )
# True

isalpha 检测字符串是否由字母和文字等组成

print( 'abcd你好'.isalnum() )
# True

isspace 检测字符串是否由空白字符组成

print( ' \t\n'.isspace() )
# True

istitle 检测字符串是否符合title()的结果

print( 'Hello World'.istitle() )
# True

isdigit 检测字符串是否由纯数字组成(十进制)
isnumeric 检测字符串是否是数值字符串,效果和isdigit 一致
isdecimal

print( '1234567890'.isdigit() )
# Trueprint( '1234567890'.istitle() )
# Trueprint( '1234567890'.isdecimal() )
# True

split 切割字符串
splitlines 以回车换行为切割符切割

str = 'a = 2'
print( str.split('=') )
# ['a ', ' 2']

join 使用指定字符串,将列表数据拼接

list1 = ['a', 'b', 'c']
print( '*'.join(list1) )
# a*b*c

zfill 在原有字符串长度不足指定长度时,用0填充,原字符串内容靠右
center 居中
ljust 左对齐
rjust 右对齐

print( 'abcd'.zfill(8) )
# 0000abcdprint( 'abcd'.center(8, '0') )
# 00abcd00print( 'abcd'.ljust(8, '0') )
# abcd0000print( 'abcd'.rjust(8, '0') )
# 0000abcd

strip 去掉指定字符串
lstrip
rstrip

str = '*****abcd*****'
print( str.strip("*") )
# abcdprint( str.lstrip("*") )
# abcd*****print( str.rstrip("*") )
# *****abcd

字符串替换
maketrans() 建立映射表,一一对应
translate() 替换操作

str = 'a的1是a1,a的2是a2,a的3是a3,a的4是a4'
table = ''.maketrans('a', 'b')
print(table)
# {97: 98}
res = str.translate(table)
print(res)
# b的1是b1,b的2是b2,b的3是b3,b的4是b4

format 格式化字符串

  • 位置参数
str = '小米的年龄是{},身高是{},体重是{}'
res = str.format('21', '188cm', '60kg')
print(res)
# 小米的年龄是21,身高是188cm,体重是60kg
  • 关键字参数
str = '小米的年龄是{age},身高是{height},体重是{wight}'
res = str.format(age = '21', wight = '66kg', height = '188cm')
print(res)
# 小米的年龄是21,身高是188cm,体重是66kg
  • 通过下标
str = '小米的年龄是{0[0]},身高是{0[1]},体重是{0[2]}'
res = str.format([21, '168cm', '60kg'])
print(res)
# 小米的年龄是21,身高是168cm,体重是60kgstr = '小米的年龄是{0[age]},身高是{0[weight]},体重是{0[height]}'
res = str.format({'age':21, 'weight':'168cm', 'height':'60kg'})
  • 格式限定符
{ : 特殊字符 > 10 }  # 居右
{ : 特殊字符 < 10 } # 居左
{ : 特殊字符 ^ 10 } # 居中
  • 精度计算
str = 'Π = {:.4f}'
res = str.format(3.1415926)
print(res)
# Π = 3.1416
  • 进制
{:b} # 二进制
{:o} # 八进制
{:d} # 十进制
{:f} # 十六进制
  • 千位分割符 " , "
{:,}

字符串模块

import string

ascii_letters 获取所有ascii码中字母字符的字符串(包含大小写)
ascii_lowercase 小写字母...
ascii_uppercase 大写字母...

A~Z : 65~90
a~z : 97~122
0~9 : 48~57

print(string.ascii_letters)
# abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
ord('A') # 65
chr(65) # A
print(string.ascii_lowercase)
# abcdefghijklmnopqrstuvwxyz
print(string.ascii_uppercase)
# ABCDEFGHIJKLMNOPQRSTUVWXYZ

digits 十进制所有数字字符
hexdigits 十六进制所有数字字符
octdigits八进制所有数字字符

print(string.digits)
# 0123456789print(string.hexdigits)
# 0123456789abcdefABCDEFprint(string.octdigits)
# 01234567

printable 获取所有可打印的字符
punctuation 获取所有的标点符号
whitespace 获取所有空白字符

print(string.printable)
# 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU...
print(string.punctuation)
# !"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~
print(string.whitespace )
# \t\n\r\x0b\x0c

python3 字符串总结相关推荐

  1. Python3 字符串

    Python3 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello ...

  2. python3 字符串 转 ascii码

    在这里先解释一下ASCII,Unicode 和 UTF-8这三者的关系 最早出现的是ASCII,一共包含128个字符(一个字节可以表示256种状态,但第一位所有默认为0,所以只有128种).在接下来计 ...

  3. python3 字符串方法

    python3 字符串方法 1.capitalize() 将字符串的第一个字符改为大写 1 >>> s='i love cnblog' 2 >>> s.capita ...

  4. python3的格式化用法_浅析python3字符串格式化format()函数的简单用法

    format()函数 """ 测试 format()函数 """ def testformat(): # format()函数中有几个元素, ...

  5. python字节流转化为字符串报错_python3.x,_关于Python3字符串转换为字节流的问题,python3.x - phpStudy...

    关于Python3字符串转换为字节流的问题 un = 'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah ...

  6. python3 字符串 hex 相互转换 代替python2 decode(‘hex’)

    1.python2.7.x hex字符串和bytes之间的转换是这样的: >>> a = 'aabbccddeeff' >>> a_bytes = a.decode ...

  7. python3 字符串替换 replace translate re.sub

    Python3的字符串替换,这里总结了三个函数,replace()和translate()和re.sub() replace() python 中的 replace() 方法把字符串中的 old(旧字 ...

  8. python3 字符串格式化

    字符串的格式化方法分为两种,分别为占位符(%)和format方式.占位符方式在Python2.x中用的比较广泛,随着Python3.x的使用越来越广,format方式使用的更加广泛. 一 占位符(%) ...

  9. python3 字符串操作总结

    字符串截取 >>>s = 'hello' >>>s[0:3] 'he' >>>s[:] #截取全部字符 'hello' 消除空格及特殊符号 s.s ...

  10. Python3 字符串与hex之间的相互转换

    在字符串转换上,python2和python3是不同的,在查看一些python2的脚本时候,总是遇到字符串与hex之间之间的转换出现问题,记录一下解决方法. 1. 在Python2.7.x上,hex字 ...

最新文章

  1. error 图片,加载错误-》实用笔记
  2. GitHub热门:程序员的架构师封神之路
  3. 设计模式(19)-Observer Pattern
  4. 扩展Reporting Services和SQL Server 2016中的更改
  5. php让符合条件的复选框选中,多条件查询(复选框条件)
  6. numpy 常用api(二)
  7. 说说Android桌面(Launcher应用)背后的故事(四)——揭秘Workspace
  8. 释放摄像头_防爆摄像头在使用过程中会遇到哪些问题,如何处理
  9. 怎样找到一份深度学习的工作(附学习材料,资源与建议)
  10. 树莓派 —— 树莓派安装字体
  11. 深入理解jvm虚拟机笔记
  12. Ruby静态分析工具检视:metric_fu, Simian, Saikuro以及其他
  13. easyui datagrid checkbox使用
  14. windows平台HTTP代理服务器搭建(CCproxy)
  15. 红孩儿编辑器的模块设计10
  16. 【Demo见真章】投稿赢HarmonyOS手机Beta公测名额
  17. [自编码器:理论+代码]:自编码器、栈式自编码器、欠完备自编码器、稀疏自编码器、去噪自编码器、卷积自编码器
  18. Java开发环境搭建-win10
  19. 文件管理工具,教你批量删除文件夹原名称并添加编号
  20. @Pointcut注解表达式介绍

热门文章

  1. 5G NGC — AMF 接入和移动性管理功能
  2. ubuntu编译linux报错/bin/sh: 1: mkimage: not found
  3. Busybox下的microcom用法
  4. mysql将字符串字段转为数字排序或比大小
  5. Sprinig泛型依赖注入
  6. ASP.NET Core配置环境变量和启动设置
  7. WCF Data Service文章列表
  8. 基于nginx的tomcat负载均衡和集群(超简单)
  9. asp.net的JSONHelper 类
  10. React Native开发之必备React基础