31个必备的Python字符串方法总结

目录
  • 1、Slicing
  • 2、strip()
  • 3、lstrip()
  • 4、rstrip()
  • 5、removeprefix()
  • 6、removesuffix()
  • 7、replace()
  • 8、re.sub()
  • 9、split()
  • 10、rsplit()
  • 11、join()
  • 12、upper()
  • 13、lower()
  • 14、capitalize()
  • 15、islower()
  • 16、isupper()
  • 17、isalpha()
  • 18、isnumeric()
  • 19、isalnum()
  • 20、count()
  • 21、find()
  • 22、rfind()
  • 23、startswith()
  • 24、endswith()
  • 25、partition()
  • 26、center()
  • 27、ljust()
  • 28、rjust()
  • 29、f-Strings
  • 30、swapcase()
  • 31、zfill()

字符串是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 hello\n'.strip('\n')
print(s)
#
#      hello
s = '\n \t hello\n'.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 = "string    methods in python"
s2 = s.replace(' ', '-')
print(s2)
# string----methods-in-python
s = "string    methods 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字符串方法总结的文章就介绍到这了,更多相关Python字符串方法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python学习之字符串常用方法总结

    目录 什么是对象 Python万物皆是对象 字符串的索引 索引[] 索引[:] 字符串的常用方法 find()函数与index()函数 startswith()函数与endswith()函数 capitalize()函数 casefold()函数与lower()函数 upper()函数 swapcase()函数 zfill()函数 count()函数 strip()函数 replace()函数 join()函数 split()函数 字符串中返回bool类型的函数集合 isspace()函数 is

  • python 字符串常用方法汇总详解

    1.字符串大小写转 value = "wangdianchao" # 转换为大写 big_value = value.upper() print(big_value) # 转换为小写 small_value = big_value.lower() print(small_value) 2.判断输入字符串是否可以转换为数字 num = input("输入内容:") # 判断输入字符串是否可以转换为数字 flag = num.isdigit() print(flag)

  • Python字符串的一些操作方法总结

    我们在进行编程学习的时候,不管学习什么编程语言都会用到字符串,对于字符串的一些操作,我们很有必要学的精通一点. 我们在操作字符串的时候用到split用法,主要用来将字符串根据某些特殊要求分割成为不同的几部分,如图所示,我们使用点号将字符串分成三部分分别提取出来. replace用法,主要是用来使用一些字符代替原来字符串中的一些字符,如图所示,我们将需要被替代的字符和要用到的衣服都写在括号中完成替代操作. strip可以用来去掉字符串前后面指定的一些字符,可以将字符串前后的空格去掉,特殊字符去掉,

  • Python中常用的8种字符串操作方法

    拼接字符串 使用"+"可以对多个字符串进行拼接 语法格式: str1 + str2 >>> str1 = "aaa" >>> str2 = "bbb" >>> print(str1 + str2) aaabbb 需要注意的是字符串不允许直接与其他类型进行拼接,例如 >>> num = 100 >>> str1 = "hello" >

  • 31个必备的Python字符串方法总结

    目录 1.Slicing 2.strip() 3.lstrip() 4.rstrip() 5.removeprefix() 6.removesuffix() 7.replace() 8.re.sub() 9.split() 10.rsplit() 11.join() 12.upper() 13.lower() 14.capitalize() 15.islower() 16.isupper() 17.isalpha() 18.isnumeric() 19.isalnum() 20.count()

  • 浅谈python字符串方法的简单使用

    学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: >>> s = 'wwwwww' >>> scap = s.capitalize() >>> scap 'Wwwwww' (2)s.center(width,char); 功能:返回将s字符串放在中间的一个长度为width的字符串,默认其他部分用空格填充,否则使用c

  • 关于python字符串方法分类详解

    python字符串方法分类,字符串是经常可以看到的一个数据储存类型,我们要进行字符的数理,就需要用各种的方法,这里有许多方法,我给大家介绍比较常见的重要的方法,比如填充.删减.变形.分切.替代和查找. 打开sublime text 3编辑器,新建一个PY文件. test = "hey" test_new = test.center(10, "$") print(test_new) 填充类的有center()这个方法,可以指定字符,然后往两边填充,第一个参数是总的字符

  • Python 的内置字符串方法小结

    字符串处理是非常常用的技能,但 Python 内置字符串方法太多,常常遗忘,为了便于快速参考,特地依据 Python 3.5.1 给每个内置方法写了示例并进行了归类,便于大家索引. PS: 可以点击概览内的绿色标题进入相应分类或者通过右侧边栏文章目录快速索引相应方法. 大小写转换 str.capitalize() 将首字母转换成大写,需要注意的是如果首字没有大写形式,则返回原字符串. 'adi dog'.capitalize() # 'Adi dog' 'abcd 徐'.capitalize()

  • python 字符串转列表 list 出现\ufeff的解决方法

    如下所示: #文件内容 lisi lock = open("lock_info.txt", "r+",encoding="utf-8") lock_line = lock.readline() lock_list = lock_line.split(",") print(lock_list) y = lock_line.encode('utf-8').decode('utf-8-sig') print(y) #打印结果如下 [

  • Python字符串拼接的几种方法整理

    Python字符串拼接的几种方法整理 第一种 通过加号(+)的形式 print('第一种方式通过加号形式连接 :' + 'love'+'Python' + '\n') 第二种 通过逗号(,)的形式 print('第二种方式通过逗号形式连接 :' + 'love', 'Python' + '\n') 第三种 直接连接 中间有无空格均可 print('第三种方式通过直接连接形式连接 (一) :' + 'love''Python' + '\n') print('第三种方式通过直接连接形式连接 (二)

  • python字符串替换的2种方法

    python 字符串替换 是python 操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法. python 字符串替换可以用2种方法实现: 1是用字符串本身的方法. 2用正则来替换字符串 下面用个例子来实验下: a = 'hello word' 把a字符串里的word替换为python 1.用字符串本身的replace方法 复制代码 代码如下: a.replace('word','python') 输出的结果是hello python 2.用正则表达式来完成替换: 复制代码 代码如

  • Python字符串拼接、截取及替换方法总结分析

    本文实例讲述了Python字符串拼接.截取及替换方法.分享给大家供大家参考,具体如下: python字符串连接 python字符串连接有几种方法,我开始用的第一个方法效率是最低的,后来看了书以后就用了后面的2种效率高的方法,跟大家分享一下. 先介绍下效率比较低的方法: a = ['a','b','c','d'] content = '' for i in a: content = content + i print content content的结果是:'abcd' 后来我看了书以后,发现书上

  • Python字符串格式化输出方法分析

    本文实例分析了Python字符串格式化输出方法.分享给大家供大家参考,具体如下: 我们格式化构建字符串可以有3种方法: 1 元组占位符 m = 'python' astr = 'i love %s' % m print astr 2 字符串的format方法 m = 'python' astr = "i love {python}".format(python=m) print astr 3 字典格式化字符串 m = 'python' astr = "i love %(pyt

  • python字符串过滤性能比较5种方法

    python字符串过滤性能比较5种方法比较 总共比较5种方法.直接看代码: import random import time import os import string base = string.digits+string.punctuation total = 100000 def loop(ss): """循环""" rt = '' for c in ss: if c in '0123456789': rt = rt + c retu

随机推荐