参考链接: Python的字符串Strings decode

“专业人士笔记”系列目录:

创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com

更改字符串的大小写

Python的字符串类型提供了许多作用于字符串大小写的函数。这些包括 :

str.casefoldstr.upperstr.lowerstr.capitalizestr.titlestr.swapcase

使用unicode字符串(Python 3中的默认字符串),这些操作方法不是1:1映射或可逆的。这些操作中的大多数是为了显示或者打印需要的字符串形式,而不是为了字符串格式标准化,接下来详细介绍各个方法的使用:

str.casefold()

print("XßΣ".casefold())

# 'xssσ'

print("XßΣ".lower())

# 'xßς'

#Python casefold() 方法是Python3.3版本之后引入的,其效果和 lower() 方法非常相#似,都可以转换字符串中所有大写字符为小写

#两者的区别是:lower() 方法只对ASCII编码,也就是‘A-Z’有效,对于其他语言(非汉语#或英文)中把大写转换为小写的情况只能用 casefold() 方法

str.upper()

str.upper接受字符串中的每个字符,并将其转换为对应的大写字母,例如:

"This is a 'string'.".upper()

# "THIS IS A 'STRING'."

str.lower()

str.lower的作用正好相反;它获取字符串中的每个字符,并将其转换为等价的小写字母:

"This IS a 'string'.".lower()

# "this is a 'string'."

str.capitalize()

str.capitalize 返回字符串的大写版本,也就是说,它使第一个字符大写,其余字符小写

"this Is A 'String'.".capitalize()

# "This is a 'string'."

str.title()

title返回字符串的标题格式,也就是说,每个单词的开头字母都是大写的,其他字母都是小写的

"this Is a 'String'".title()

# "This Is A 'String'"

str.swapcase()

swapcase返回一个新的string对象,在这个对象中,所有小写字符都被转换为大写,所有大写字符都被转换为小写

当一个集合类型字符串需要处理时,使用map函数是最高效和简洁的:

print(list(map(str.upper,["These","are","some","'strings'"])))

#输出:['THESE', 'ARE', 'SOME', "'STRINGS'"]

翻译字符串中的字符

Python支持对str的翻译方法,该方法允许指定翻译表(用于替换)以及过程中应该删除的任何字符

translation_table = str.maketrans("aeiou", "12345")  #按位置进行翻译替换

my_string = "This is a string!"

print(my_string.translate(translation_table))

#输出:Th3s 3s 1 str3ng!

Python的字符串模块提供字符串相关的高级操作。要使用它们,请导入string模块

import string

print(string.ascii_letters)  #所有的ascii字符

#输出:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

print(string.ascii_lowercase)  #所有的ascii小写字符

#输出:abcdefghijklmnopqrstuvwxyz

print(string.ascii_uppercase) # 所有的ascii大写字符

#输出:'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

print(string.digits)  # 所有十进制数字字符

#输出:'0123456789'

print(string.hexdigits) # 所有十六进制数字字符

#输出:'0123456789abcdefABCDEF'

print(string.octaldigits) # 所有八进制数字字符

#输出:'01234567'

print(string.punctuation) # C语言环境中被认为是标点符号的所有字符

#输出:'!"#$%&'()*+,-./:;<=>?@[]^_`{|}~'

print(string.whitespace #所有被认为是空格的ASCII字符

#输出:' tnrx0bx0c'

print(string.printable) #  包含所有可打印字符及字符串的组合、数字字符串ascii字母,字符串。标点符号、空格等

#输出:'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[]^_`{|}~

tnrx0bx0c'

删除字符串首尾字符

Python提供了三种方法,能够从字符串中删除前导字符和尾随字符:str.strip、str.rstrip和str.lstrip。这三个方法都返回一个新字符串对象,其中删除了不需要的字符

str.strip([chars])

str.strip在给定的字符串中删除参数中包含的任何前导字符或尾随字符;如果不提供字符或不提供字符,则默认情况下删除所有空白字符。例如 :

print("      创帆云       ".strip())

#输出:创帆云   不带任何空格

还可以删除指定的字符:

print("aaaaaaaaaaaa创帆云aaaa".strip('a'))

#输出 创帆云

str.rstrip([chars]) 和 str.lstrip([chars])

这些方法与str.strip()具有类似的语义和参数,它们的区别在于它们开始的方向。rstrip()从字符串的末尾开始,而str.lstrip()从字符串的开头开始 :

print("aaaaaaaaaaaa创帆云aaaa".lstrip('a'))

#输出:创帆云aaaa

print("aaaaaaaaaaaa创帆云aaaa".rstrip('a'))

#输出:aaaaaaaaaaaa创帆云

反转字符串

使用内置的reverse()函数可以反转字符串,该函数接受一个字符串并以相反的顺序返回一个迭代器 :

print(reversed('hello'))

#注意这里返回的是迭代器

用生成式返回反转后的字符:

print(list(c for c in (reversed('hello'))))

#['o', 'l', 'l', 'e', 'h']

当然,也可以将返回的字符重新拼装成字符串:

print("".join(reversed('hello')))

# olleh

字符串拆分

split(sep=None, maxsplit=-1)获取一个字符串并返回原始字符串的子字符串列表。

其拆分行为的不同取决于sep参数是提供的还是省略的。如果没有提供sep,那么只要有空格,就会发生分割。但是,前面和后面的空白将被忽略,多个连续的空白字符将被视为单个空白字符

print(" This is a sentence. ".split())

#输出 ['This', 'is', 'a', 'sentence.']

按照指定的字符进行拆分:

print(" This is a sentence. ".split('s'))

#输出 [' Thi', ' i', ' a ', 'entence. ']

默认情况下,分隔符每次出现时都进行分割,但是maxsplit参数限制了发生分割的次数。默认值-1表示没有限制 :

print(" This is a sentence. ".split('s',1))

# [' Thi', ' is a sentence. ']  只根据第一个出现的s字符串拆分

字符串替换

Python的str类型还有一个方法,可以将给定字符串中的一个子字符串替换为另一个子字符串:

str.replace(old, new[, count]):

print('创帆云'.replace('帆','易'))   将字符串所有的'帆'字替换成'易'

#输出:创易云

其中replace的第3个参数,是指定替换多少次,如下:

print('创帆云创帆云'.replace('帆','易',1))

#输出:创易云创帆云     可以看到,只把第一个出现的汉字替换了

字符串组成

Python的str类型还具有一些用于分析字符串内容的方法。这些是str.isalpha, str.isdigit, str.isalnum, str.isspace。大小写可以用str.isupper、str.islower和str.istitle,下面分别讲述:

str.isalpha 验证给定字符串中的是否所有字符都是字母,如果是则返回True

print("Hello World".isalpha())

print("HelloWorld2".isalpha())

print("HelloWorld".isalpha())

#输出:

False  #有空格

False  #有数2

True

str.isupper, str.islower, str.istitle

这些方法验证给定字符串中的大小写

print("HeLLO WORLD".isupper())

print("HeLLO WORLD".islower())

print("Hello World".istitle())

#输出:

False

False

True  #有关title函数,请参阅字符串那篇文章

str.isdecimal, str.isdigit, str.isnumeric

isdecimal 如果只有十进制字符,则返回True,否则为False

isdigit 所有字符都是数字,并且其中至少有一个字符,则返回True

isnumeric 如果只有数字字符,则返回True,否则为False 。

其输出矩阵如下:

str.isalnum

这是str.isalpha和str.isnumeric的组合,如果给定字符串中的所有字符都是字母或数字,那么它的计算结果就是True

"Hello2World".isalnum()

#True

"Hello World".isalnum()

#False 里面有空格

str.isspace

如果字符串只包含空白字符,则计算为True

print("trn".isspace())

#True,在python里上述都算空白

print(" ".isspace())

#True

print("".isspace())

#False 没有值不算空白

字符串包含关系

Python非常直观地检查一个字符串是否包含给定的子字符串。只需使用in操作符即可:

print('z' in 'zhou')

#True

list列表到字符串的转换

字符串可以用作分隔符,使用join()方法将列表字符连接成一个字符串。例如,可以创建一个字符串,其中列表中的每个元素用空格分隔:

" ".join(["once","upon","a","time"])

# once upon a time

#也可以用特定的字符串连接:

"---".join(["once", "upon", "a", "time"])

#once---upon---a---time

子字符串出现次数

str.count(sub[, start[, end]])

str.count返回一个整型数,表示子字符串在另一个字符串中出现的次数。可选参数start和end指示开始搜索和结束搜索的位置。默认情况下,将搜索整个字符串

s = "She sells seashells by the seashore."

s.count("sh")  # 2   sh在字符串中出现了2次

s.count("seashells") # 1

字符串填充

Python提供了一些函数来对字符串进行赋值填充,使得文本之间更容易对齐

a = "hello world"

print(a.ljust(20,'X'))  # hello worldXXXXXXXXX

print(a.rjust(20,'X'))  # XXXXXXXXXhello world

判断首尾字符

为了在Python中判断给定字符串的开头和结尾,可以使用方法str.startswith()和str.endswith()

str.startswith(prefix[, start[, end]])

顾名思义,str.startswith用于判断给定字符串是否以前缀中的给定字符开头

s = "This is a test string"

s.startswith("Thi")  # True

s.startswith("thi")  # False 注意大小写不一样

s.startswith("is", 2)  #从第2位开始判断(索引从0开始),返回 True

你还可以传一个元组作为参数:

s = "This is a test string"

print(s.startswith(('This', 'That')))

#返回True ,如果是多个值,则只要满足其中一个条件即返回True

str.endswith(prefix[, start[, end]])

判断是否以某个子字符串结尾,其用法与startswith完全一样

bytes字符串和unicode字符串转换

文件和网络消息的内容可以表示二进制bytes编码字符。通常需要将它们转换为unicode字符以便正确显示

通常,两都间的转换是通过 decode和encode两个函数完成的

s = b'xc2xa9 abc' #  s是一个字节型字符串 ,而不是python3中默认的的UTF-8字符

s[0]   # b'xc2' -

type(s)

# bytes

u = s.decode('utf-8')

# decode将字节型字符串转换为Unicode字符串(python3)

u[0]

#'u00a9' -  Unicode字符“版权标志”(U+00A9)'

type(u)  # str类型

u.encode('utf-8')

#b'xc2xa9 abc'

str.encode 会将utf-8字符串转换为二次制字节字符串

本文中代码已在python3云环境中调试通过,请勿转载,谢谢

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

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

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

  2. angular 字符串转换成数字_Python成为专业人士笔记–String字符串方法

    "专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com 更改字符串的大小写 Python的字符串类型 ...

  3. python 去除字符串的标点符号 用_Python输入和输出

    点击上方Python知识圈,设为星标 回复1024获取Python资料 阅读文本大概需要 5 分钟 近期精彩文章:Python100例(附PDF下载地址) 在很多时候,你会想要让你的程序与用户(可能是 ...

  4. python中字符串函数的作用_python 基础学习笔记(2)---字符串功能函数

    **上一篇写到了,基本的数据类型,今天重点来讲一下字符串的功能函数** 回顾一下上篇的内容: 一.int 整型,在python 3 中与long型合并 可以达到 -922337203685477580 ...

  5. python中函数startswith的用法_Python中用startswith()函数判断字符串开头的教程

    函数:startswith() 作用:判断字符串是否以指定字符或子字符串开头 一.函数说明语法:string.startswith(str, beg=0,end=len(string)) 或strin ...

  6. python中定义元组的符号_python中得元组和字符串详解,有这么一篇文章就够了

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:咸鱼学Python ( 想要学习Python?Pyth ...

  7. python字符串格式化 说明符顺序_python实践分享:格式化字符串时使用.format方式还是“%”...

    Python中内置的%操作符和.format方式都可用于格式化字符串. 先来看看这两种具体格式化方法的基本语法形式和常见用法. %操作符根据转换说明符所规定的格式返回一串格式化后的字符申,转换说明符的 ...

  8. python全栈工程师证书查询_Python全栈工程师(字符串/序列)

    字符串:str 用来记录文本信息 字符串的表示方式: 在非注释中凡是用引号括起来的部分都是字符串 '' 单引号 "" 双引号 ''' ''' 三单引 ""&qu ...

  9. python方法和函数的格式是完全一样的_Python成为专业人士笔记-返回变量形式函数- str() 和 repr()...

    "专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com 有两个函数可用于获取对象的可读表示 ,常用于打 ...

最新文章

  1. 服务器设备监控系统,服务器设备监控系统
  2. 你所未知的人工智能应用领域
  3. 神奇的魔法数字0x61c88647
  4. 如何保证两个不同宽高的canvas用同一组坐标正常显示_如何1人5天开发完3D数据可视化大屏 【一】...
  5. Windows phone 8 学习笔记(8) 定位地图导航
  6. Java 性能优化实战记录(1)---定位并分析耗cpu最多的线程
  7. Google Guava学习笔记——基础工具类Joiner的使用
  8. 有意思的clip-path
  9. 前端视频播放初探总结,video标签-视频插件jwplayer
  10. FusionChartsFree及其教程
  11. UE4 人物运动基本设置
  12. ios快捷指令 python_手把手教你使用 iOS 效率神器 「快捷指令」
  13. 华为照片在哪个文件夹_华为手机相册照片在哪个文件夹(这2个方法帮你轻松找到)...
  14. mysql 日期截止,MySQL查询以开始日期和结束日期计算日期范围内的天数
  15. pytorch 入门:GPU加速,卷积层,池化层
  16. 万物皆游戏,设计大时髦
  17. Linux 之systemd服务简介
  18. 甲乙丙三人一起进行百米赛跑(假定三人均为匀速直线运动)如果当甲到达终点时,乙距终点有5米,丙距终点还有10米,那么当乙到达终点时,丙距终点还有()米
  19. 超级详细!!!SpringBoot2核心技术与响应式编程尚硅谷完整知识点笔记 下篇 自动配置、容器、Web、数据响应、拦截器、SQL、NOSQL、原理、Junit5、Actuator、外部化配置等
  20. 九、软件开发进度月报-模板

热门文章

  1. 【PTA】520 钻石争霸赛 2021,119分
  2. linux查看log日志在哪,如何查看linux的系统log日志
  3. python横向输出字符串_Python字符串及用法详解
  4. Linux 操作系统(I)
  5. Happy Necklace
  6. 11. 王道考研-二叉树的实现
  7. kr中的逆波兰表示法计算器
  8. Lucas+阶乘打表+费马小定理模板2.0
  9. opencv 绘制图像轮廓
  10. 高斯滤波详解 python实现高斯滤波