python字符串内建函数_python知识整理:字符串的内建函数

Python字符串的内建函数

在Python中,可使用字符串的内建函数对指定字符串进行处理。

格式一般为:字符串.函数名(参数)

一、关于字符串的大小写

.upper()字符串内英文字符全部大写

.lower()字符串内英文字符全部小写

.swapcase()字符串内英文字符大小写互换

.capitalize()字符串第一个英文字符大写,其余英文字符变小写

.casefold()字符串内字符全部小写,但对于非英文的其他语言也有效,比lower更牛逼

.title()字符串标题化,即将每个英文单词的首字母变为大写,其余部分变小写

下面是代码示例:

name1 = "FengMoJun"

name2 = "FengMoJun"

name3 = "FengMoJun"

name4 = "fengMOJUN FengMoJun fengmojun"

name5 = "fengmojun ΑΒΓΔΕ"

name6 = "fengMOJUN FengMoJun fengmojun"

v1 = name1.upper()

v2 = name2.lower()

v3 = name3.swapcase()

v4 = name4.capitalize()

v5 = name5.casefold()

v6 = name6.title()

print(v1)

print(v2)

print(v3)

print(v4)

print(v5)

print(v6)

运行得出:

FENGMOJUN

fengmojun

fENGmOjUN

Fengmojun fengmojun fengmojun

fengmojun αβγδε

Fengmojun Fengmojun Fengmojun

二、关于字符的插入、去除与替换

1.插入

.join('sequence')将前面的字符串插入序列sequence中的每一个元素之间并拼接为新字符串

.ljust(width,'str')获取指定宽度字符串并向左对齐,右边不够用指定字符补齐,若不指定字符则用空格补齐

.rjust(width,'str')获取指定宽度字符串并向右对齐,左边不够用指定字符补齐,若不指定字符则用空格补齐

.center(width,'str')获取指定宽度字符串并向中间对齐,两边不够用指定字符补齐,若不指定字符则用空格补齐

.zfill(width,'str') 获取指定宽度字符串并向右对齐,左边不足用0补齐

举例:

str='fengmojun'

jo='-'

seq=('a','e','i','o','u')

v1=jo.join(seq)

v2=str.ljust(25,'X')

v3=str.rjust(25)

v4=str.center(25,'*')

v5=str.zfill(25)

print(v1)

print(v2)

print(v3)

print(v4)

print(v5)

输出:

a-e-i-o-u

fengmojunXXXXXXXXXXXXXXXX

fengmojun

********fengmojun********

0000000000000000fengmojun

2.去除

.strip('str')去除两边指定字符,若不指定字符则去除两边空格,包括换行\n以及\t

.lstrip('str')去除左边指定字符,若不指定字符则去除左边空格,包括换行\n以及\t

.rstrip('str')去除右边指定字符,若不指定字符则去除左边空格,包括换行\n以及\t

以上三个若不能完全匹配指定字符,会找指定字符能匹配到的子序列,尽可能多的进行去除。

3.替换

.replace('oldstr','newstr',time)用newstr替换oldstr,共替换time次,若不指定time则尽可能多的替换(全部替换)

str='f8e8n8g8m8o8j8u8n'

v1=str.replace('8',' ')

v2=str.replace('8',' ',4)

print(v1)

print(v2)

输出:

f e n g m o j u n

f e n g m8o8j8u8n

.maketrans('str1','str2')与.translate(table)中,.maketrans()用于创建字符映射的转换表(table),两个字符串的长度必须相同,为一一对应的关系。.translate()则根据.maketrans()给出的字符映射转换表(table)转换字符串中的字符。

详见下方举例:

str='i love you 123'

intab='aeiou'

outtab='12345'

trantab=str.maketrans(intab,outtab)

v1=str.translate(trantab)

print(v1)

输出:

3 l4v2 y45 123

.expandtabs(tabsize)字符串中,每tabsize个字符为一个单元,遇到\t则补足空格,tabsize默认为8,理解起来可能有点困难,可自行尝试代码帮助理解。

举例(常用来做表格):

example='hello\tpython\tworld'

v1=example.expandtabs()

v2=example.expandtabs(2)

v3=example.expandtabs(10)

print(v1)

print(v2)

print(v3)

输出:

hello python world

hello python world

hello python world

三、关于字符串的查找

.find('str')在字符串中搜索指定字符串,从字符串左边开始找,找到第一个之后,获取其位置(数字),若未找到则返回-1

.rfind('str')在字符串中搜索指定字符串,从字符串右边开始找,找到第一个之后,获取其位置(数字),若未找到则返回-1

.index('str')同.find(),但若未找到则会报错,因此一般不使用

.count('str',start,end)在字符串的【start,end)区间内统计指定字符串的出现次数,返回数字,若不指定区间则默认区间为整个字符串

举例:

str='01234567890123456789'

v1=str.find('2')

v2=str.rfind('8')

v3=str.count('1')

v4=str.count('5',0,5)

v5=str.count('9',9,15)

print(v1)

print(v2)

print(v3)

print(v4)

print(v5)

输出:

2

18

2

0

1

四、关于字符串的分割

.partition('str')从字符串左边开始检索指定分隔符str,直到找到第一个对应分隔符,并返回一个3元的元组,第一元为分隔符左边的字符串,第二元为分隔符本身,第三元为分隔符右边字符串

.rpartition('str')从字符串右边开始检索指定分隔符str,其余同上

.split('str',time)从字符串左边开始检索指定分隔符str,把字符串按指定分隔符分割,并返回一个包含被分割字符串的各个部分作为元素的列表,但不保留分隔符,分割次数可指定为time,不指定则默认尽可能多的分割字符串

.rsplit('str',time)从字符串右边开始检索指定分隔符str,其余同上

举例:

str='www.abc.com.cn'

v1=str.partition('.')

v2=str.rpartition('.')

v3=str.split('.')

v4=str.split('.',2)

v5=str.rsplit('.',2)

print(v1)

print(v2)

print(v3)

print(v4)

print(v5)

输出:

('www', '.', 'abc.com.cn')

('www.abc.com', '.', 'cn')

['www', 'abc', 'com', 'cn']

['www', 'abc', 'com.cn']

['www.abc', 'com', 'cn']

.splitlines(bool)将字符串自动按行(\r, \r\n, \n)分割,返回一个包含各行作为元素的列表,bool值为True则保留\n,False则不保留,默认为False

举例:

str='01234\nabcde\n56789'

v1=str.splitlines()

v2=str.splitlines(True)

v3=str.splitlines(False)

print(v1)

print(v2)

print(v3)

输出:

['01234', 'abcde', '56789']

['01234\n', 'abcde\n', '56789']

['01234', 'abcde', '56789']

四、关于字符串的格式化

.format()用法请看下方示例

1.通过位置

若已指定顺序则按指定顺序填充,若未指定则按0、1、2顺序填充。

test1='My {} is {}.'

test2='My {0} is {1}.'

test3='My {0} is {2}.'

v1=test1.format('name','FMJ')

v2=test2.format('name','FMJ')

v3=test3.format('hobby','computer','eat')

print(v1)

print(v2)

print(v3)

#下面是运行结果

My name is FMJ.

My name is FMJ.

My hobby is eat.

2.通过关键字

test1='My {what} is {num}.'

test2='My {what} is {sth2}.'

v1=test1.format(what='age',num=18)

v2=test2.format(what='hobby',sth1='computer',sth2='eat')

print(v1)

print(v2)

#下面是运行结果

My age is 18.

My hobby is eat.

3.通过列表(list)映射

其中的参数含义:{ 第几个列表【第几个元素】}

test='My name is {0[0]},from {0[1]},age is {0[2]}.\nToday is {1[5]}{1[6]}{1[2]}{1[0]}'

list_1=['FMJ','China',18]

list_2=[0,1,2,3,4,5,'.']

v1=test.format(list_1,list_2)

print(v1)

#下面是运行结果

My name is FMJ,from China,age is 18.

Today is 5.20

4.通过字典(dict)映射

在format内引用dict时,为了与list区别开来,Python规定在dict名前加**

test='My name is {name},from {country},age is {age}.'

dict={'name':'FMJ','country':'China','age':18}

v1=test.format(**dict)

print(v1)

#下面是运行结果

My name is FMJ,from China,age is 18.

5.填充与对齐

填充一般与对齐一起使用,:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充;^、<、>分别是居中、左对齐、右对齐,后面带宽度

test1='FMJ'

test2='YOU'

n1='Hello I`m {:>9} ,nice to meet you.'

n2='Hello I`m {:*^9} ,nice to meet you.'

n3='Hello I`m {:*<9} ,nice to meet you.'

n4='Hello I`m {:-^9} ,nice to meet {:-^9}.'

v1=n1.format(test1)

v2=n2.format(test1)

v3=n3.format(test1)

v4=n4.format(test1,test2)

print(v1)

print(v2)

print(v3)

print(v4)

#下面是运行结果

Hello I`m FMJ ,nice to meet you.

Hello I`m ***FMJ*** ,nice to meet you.

Hello I`m FMJ****** ,nice to meet you.

Hello I`m ---FMJ--- ,nice to meet ---YOU---.

6.数字格式化

都写在code里面了:

test='保留小数点后两位记法{:.2f}\n' \

'带符号保留小数点后三位记法{:+.3f},{:+.3f}\n' \

'不带小数记法{:.0f},{:.0f}\n' \

'金融中以逗号分隔的数字记法{:,}\n' \

'百分比格式并保留两位小数记法{:.2%}\n' \

'指数记法{:.2e}\n' \

'二进制的25的记法{:b}\n' \

'八进制的25的记法{:o}\n' \

'十进制的25的记法{:d}\n' \

'十六进制的25的记法{:x}\n' \

'完整小写八进制的25的记法{:#o}\n' \

'完整大写十六进制的25的记法{:#X}\n'

v=test.format(3.1415,3.1415,-3.1415,3.1415,3.8888,10000000,0.5,10000,25,25,25,25,25,25)

print(v)

#下面是运算结果

保留小数点后两位记法3.14

带符号保留小数点后三位记法+3.142,-3.142

不带小数记法3,4

金融中以逗号分隔的数字记法10,000,000

百分比格式并保留两位小数记法50.00%

指数记法1.00e+04

二进制的25的记法11001

八进制的25的记法31

十进制的25的记法25

十六进制的25的记法19

完整小写八进制的25的记法0o31

完整大写十六进制的25的记法0X19

五、关于字符串的判断

.startswith('str')判断字符串是否以str开头,是则返回True,否则返回False

.endswith('str')判断字符串是否以str结尾,是则返回True,否则返回False

.islower()判断字符串是否全是小写英文字符,是则返回True,否则返回False

.isupper()判断字符串是否全是大写英文字符,是则返回True,否则返回False

.isalpha()判断字符串是否全是英文字符,是则返回True,否则返回False

.isalnum()判断字符串是否只由数字(包括Unicode数字,全角数字(双字节),罗马数字,汉字数字,特殊字符)组成,是则返回True,否则返回False

.isnumeric()判断字符串是否只由数字(包括Unicode数字,全角数字(双字节),罗马数字,汉字数字,特殊字符)组成,是则返回True,否则返回False

.isdecimal())判断字符串是否由数字(包括Unicode数字,全角数字(双字节))组成,是则返回True,否则返回False

.isdigit()判断字符串是否由数字(包括Unicode数字,全角数字(双字节),特殊字符,byte数字(单字节))组成,是则返回True,否则返回False

.isidentifier()判断字符串是否为python中合法的标识符,是则返回True,否则返回False

.isprintable()判断字符串是否不包含不可显示的字符如\t\n等(是否所见即所得),是则返回True,否则返回False

.isspace()判断字符串是否只包含空格,是则返回True,否则返回False

.istitle()判断字符串是否标题化(每个英文单词开头为大写,其余都小写),是则返回True,否则返回False

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中提供了很多字符串内置函数,这里列举几个比较常用的: 1. `len(str)`:返回字符串的长度。 ```python str = "hello, world!" print(len(str)) # 输出:13 ``` 2. `str.upper()`和`str.lower()`:将字符串分别转化为大写和小写形式。 ```python str = "Hello, WoRlD!" print(str.upper()) # 输出:HELLO, WORLD! print(str.lower()) # 输出:hello, world! ``` 3. `str.capitalize()`和`str.title()`:将字符串的首字母或每个单词的首字母转化为大写。 ```python str = "hello, world!" print(str.capitalize()) # 输出:Hello, world! print(str.title()) # 输出:Hello, World! ``` 4. `str.find(sub, start, end)`和`str.index(sub, start, end)`:返回子字符串在原字符串中的位置,若没有则返回-1或抛出异常。 ```python str = "hello, world!" print(str.find('o')) # 输出:4 print(str.index('o')) # 输出:4 print(str.find('z')) # 输出:-1 # print(str.index('z')) # 抛出异常:ValueError: substring not found ``` 5. `str.count(sub, start, end)`:返回子字符串在原字符串中出现的次数。 ```python str = "hello, world!" print(str.count('o')) # 输出:2 ``` 6. `str.replace(old, new, count)`:将字符串中的所有旧子字符串替换为新子字符串,count为替换次数,可省略,表示替换所有。 ```python str = "hello, world!" print(str.replace('l', 'L')) # 输出:heLLo, worLd! ``` 除此之外,还有很多其他的字符串内置函数,比如`str.startswith(prefix, start, end)`、`str.endswith(suffix, start, end)`、`str.strip(chars)`、`str.join(iterable)`等等。这些函数都有其特定的功能和用法,可以根据实际情况进行选择和使用。 引用:Python字符串内置函数功能与用法总结。主要介绍了Python字符串内置函数功能与用法,结合实例形式总结分析了Python常见字符串操作函数的功能、分类、使用方法及相关操作注意事项,需要的朋友可以参考下[^1]。 引用:python string内置函数表格。string.replace(str1, str2, num=string.count(str1)) [^2]。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值