搜索
首页后端开发Python教程31个必备的Python字符串方法,建议收藏!

31个必备的Python字符串方法,建议收藏!

字符串是Python中基本的数据类型,几乎在每个Python程序中都会使用到它。

1、Slicing

slicing切片,按照一定条件从列表或者元组中取出部分元素(比如特定范围、索引、分割值)

s = ' hello '
s = s[:]
print(s)
#hello
s = ' hello '
s = s[3:8]
print(s)
# hello

2、strip()

strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

s = ' hello '.strip()
print(s)
# hello
s = '###hello###'.strip()
print(s)
# ###hello###

在使用strip()方法时,默认去除空格或换行符,所以#号并没有去除。

可以给strip()方法添加指定字符,如下所示。

s = '###hello###'.strip('#')
print(s)
# hello

此外当指定内容不在头尾处时,并不会被去除。

s = ' n t hellon'.strip('n')
print(s)
#
#hello
s = 'n t hellon'.strip('n')
print(s)
#hello

第一个n前有个空格,所以只会去取尾部的换行符。

最后strip()方法的参数是剥离其值的所有组合,这个可以看下面这个案例。

s = 'www.baidu.com'.strip('cmow.')
print(s)
# baidu

最外层的首字符和尾字符参数值将从字符串中剥离。字符从前端移除,直到到达一个不包含在字符集中的字符串字符为止。

在尾部也会发生类似的动作。

3、lstrip()

移除字符串左侧指定的字符(默认为空格或换行符)或字符序列。

s = ' hello '.lstrip()
print(s)
# hello

同样的,可以移除左侧所有包含在字符集中的字符串。

s = 'Arthur: three!'.lstrip('Arthur: ')
print(s)
# ee!

4、rstrip()

移除字符串右侧指定的字符(默认为空格或换行符)或字符序列。

s = ' hello '.rstrip()
print(s)
#hello

5、removeprefix()

Python3.9中移除前缀的函数。

# python 3.9
s = 'Arthur: three!'.removeprefix('Arthur: ')
print(s)
# three!

和strip()相比,并不会把字符集中的字符串进行逐个匹配。

6、removesuffix()

Python3.9中移除后缀的函数。

s = 'HelloPython'.removesuffix('Python')
print(s)
# Hello

7、replace()

把字符串中的内容替换成指定的内容。

s = 'string methods in python'.replace(' ', '-')
print(s)
# string-methods-in-python
s = 'string methods in python'.replace(' ', '')
print(s)
# stringmethodsinpython

8、re.sub()

re是正则的表达式,sub是substitute表示替换。

re.sub则是相对复杂点的替换。

import re
s = "stringmethods in python"
s2 = s.replace(' ', '-')
print(s2)
# string----methods-in-python
s = "stringmethods in python"
s2 = re.sub("s+", "-", s)
print(s2)
# string-methods-in-python

和replace()做对比,使用re.sub()进行替换操作,确实更高级点。

9、split()

对字符串做分隔处理,最终的结果是一个列表。

s = 'string methods in python'.split()
print(s)
# ['string', 'methods', 'in', 'python']

当不指定分隔符时,默认按空格分隔。

s = 'string methods in python'.split(',')
print(s)
# ['string methods in python']

此外,还可以指定字符串的分隔次数。

s = 'string methods in python'.split(' ', maxsplit=1)
print(s)
# ['string', 'methods in python']

10、rsplit()

从右侧开始对字符串进行分隔。

s = 'string methods in python'.rsplit(' ', maxsplit=1)
print(s)
# ['string methods in', 'python']

11、join()

string.join(seq)。以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串。

list_of_strings = ['string', 'methods', 'in', 'python']
s = '-'.join(list_of_strings)
print(s)
# string-methods-in-python
list_of_strings = ['string', 'methods', 'in', 'python']
s = ' '.join(list_of_strings)
print(s)
# string methods in python

12、upper()

将字符串中的字母,全部转换为大写。

s = 'simple is better than complex'.upper()
print(s)
# SIMPLE IS BETTER THAN COMPLEX

13、lower()

将字符串中的字母,全部转换为小写。

s = 'SIMPLE IS BETTER THAN COMPLEX'.lower()
print(s)
# simple is better than complex

14、capitalize()

将字符串中的首个字母转换为大写。

s = 'simple is better than complex'.capitalize()
print(s)
# Simple is better than complex

15、islower()

判断字符串中的所有字母是否都为小写,是则返回True,否则返回False。

print('SIMPLE IS BETTER THAN COMPLEX'.islower()) # False
print('simple is better than complex'.islower()) # True

16、isupper()

判断字符串中的所有字母是否都为大写,是则返回True,否则返回False。

print('SIMPLE IS BETTER THAN COMPLEX'.isupper()) # True
print('SIMPLE IS BETTER THAN complex'.isupper()) # False

17、isalpha()

如果字符串至少有一个字符并且所有字符都是字母,则返回 True,否则返回 False。

s = 'python'
print(s.isalpha())
# True
s = '123'
print(s.isalpha())
# False
s = 'python123'
print(s.isalpha())
# False
s = 'python-123'
print(s.isalpha())
# False

18、isnumeric()

如果字符串中只包含数字字符,则返回 True,否则返回 False。

s = 'python'
print(s.isnumeric())
# False
s = '123'
print(s.isnumeric())
# True
s = 'python123'
print(s.isnumeric())
# False
s = 'python-123'
print(s.isnumeric())
# False

19、isalnum()

如果字符串中至少有一个字符并且所有字符都是字母或数字,则返回True,否则返回 False。

s = 'python'
print(s.isalnum())
# True
s = '123'
print(s.isalnum())
# True
s = 'python123'
print(s.isalnum())
# True
s = 'python-123'
print(s.isalnum())
# False

20、count()

返回指定内容在字符串中出现的次数。

n = 'hello world'.count('o')
print(n)
# 2
n = 'hello world'.count('oo')
print(n)
# 0

21、find()

检测指定内容是否包含在字符串中,如果是返回开始的索引值,否则返回-1。

s = 'Machine Learning'
idx = s.find('a')
print(idx)
print(s[idx:])
# 1
# achine Learning
s = 'Machine Learning'
idx = s.find('aa')
print(idx)
print(s[idx:])
# -1
# g

此外,还可以指定开始的范围。

s = 'Machine Learning'
idx = s.find('a', 2)
print(idx)
print(s[idx:])
# 10
# arning

22、rfind()

类似于find()函数,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。

s = 'Machine Learning'
idx = s.rfind('a')
print(idx)
print(s[idx:])
# 10
# arning

23、startswith()

检查字符串是否是以指定内容开头,是则返回 True,否则返回 False。

print('Patrick'.startswith('P'))
# True

24、endswith()

检查字符串是否是以指定内容结束,是则返回 True,否则返回 False。

print('Patrick'.endswith('ck'))
# True

25、partition()

string.partition(str),有点像find()和split()的结合体。

从str出现的第一个位置起,把字符串string分成一个3 元素的元组(string_pre_str,str,string_post_str),如果string中不包含str则 string_pre_str==string。

s = 'Python is awesome!'
parts = s.partition('is')
print(parts)
# ('Python ', 'is', ' awesome!')
s = 'Python is awesome!'
parts = s.partition('was')
print(parts)
# ('Python is awesome!', '', '')

26、center()

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

s = 'Python is awesome!'
s = s.center(30, '-')
print(s)
# ------Python is awesome!------

27、ljust()

返回一个原字符串左对齐,并使用空格填充至长度width的新字符串。

s = 'Python is awesome!'
s = s.ljust(30, '-')
print(s)
# Python is awesome!------------

28、rjust()

返回一个原字符串右对齐,并使用空格填充至长度width的新字符串。

s = 'Python is awesome!'
s = s.rjust(30, '-')
print(s)
# ------------Python is awesome!

29、f-Strings

f-string是格式化字符串的新语法。

与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快!

num = 1
language = 'Python'
s = f'{language} is the number {num} in programming!'
print(s)
# Python is the number 1 in programming!
num = 1
language = 'Python'
s = f'{language} is the number {num*8} in programming!'
print(s)
# Python is the number 8 in programming!

30、swapcase()

翻转字符串中的字母大小写。

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

31、zfill()

string.zfill(width)。

返回长度为width的字符串,原字符串string右对齐,前面填充0。

s = '42'.zfill(5)
print(s)
# 00042
s = '-42'.zfill(5)
print(s)
# -0042
s = '+42'.zfill(5)
print(s)
# +0042


以上是31个必备的Python字符串方法,建议收藏!的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
2小时的Python计划:一种现实的方法2小时的Python计划:一种现实的方法Apr 11, 2025 am 12:04 AM

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python:探索其主要应用程序Python:探索其主要应用程序Apr 10, 2025 am 09:41 AM

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

您可以在2小时内学到多少python?您可以在2小时内学到多少python?Apr 09, 2025 pm 04:33 PM

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

如何在10小时内通过项目和问题驱动的方式教计算机小白编程基础?如何在10小时内通过项目和问题驱动的方式教计算机小白编程基础?Apr 02, 2025 am 07:18 AM

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

如何在使用 Fiddler Everywhere 进行中间人读取时避免被浏览器检测到?如何在使用 Fiddler Everywhere 进行中间人读取时避免被浏览器检测到?Apr 02, 2025 am 07:15 AM

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

Python 3.6加载Pickle文件报错"__builtin__"模块未找到怎么办?Python 3.6加载Pickle文件报错"__builtin__"模块未找到怎么办?Apr 02, 2025 am 07:12 AM

Python3.6环境下加载Pickle文件报错:ModuleNotFoundError:Nomodulenamed...

如何提高jieba分词在景区评论分析中的准确性?如何提高jieba分词在景区评论分析中的准确性?Apr 02, 2025 am 07:09 AM

如何解决jieba分词在景区评论分析中的问题?当我们在进行景区评论分析时,往往会使用jieba分词工具来处理文�...

如何使用正则表达式匹配到第一个闭合标签就停止?如何使用正则表达式匹配到第一个闭合标签就停止?Apr 02, 2025 am 07:06 AM

如何使用正则表达式匹配到第一个闭合标签就停止?在处理HTML或其他标记语言时,常常需要使用正则表达式来�...

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境