Python基础之字符串的相关操作

字符串是什么?
呃,相信学习过编程的同学应该都知道,这里就不在赘述了,我们今天要学习的是字符串的相关操作。
Python中字符串的相关操作还真不少,具体来说有多少呢,说实话,我还真没有数过,今天就让我们一起进入字符串的世界。

  1. 判断操作
    判断操作,顾名思义,就是判断这个字符串是否满足相关条件,一般来说,此类操作返回值为布尔类型

isdigit() 判断一个字符串是否是纯阿拉伯数字,若是则返回True,若不是则返回False;

str='hello little smile!'
print(str.isdigit())

执行结果为False

isalpha()判断一个字符串是否为纯字母,若是则返回True,若不是则返回False;

str='hello little smile!'
print(str.isalpha())

由于上述字符串str中含有空格和”!”,执行结果为False

isalnum() 判断一个字符串是否是英文字母和数字,不包括特殊字符,若是则返回True,若不是则返回False;

str='112abc'
print(str.isalnum())

执行结果为True.

isdecimal()方法检查字符串是否仅由十进制字符组成。此方法只存在于unicode对象。

str='12345'
print(str.isdecimal())

执行结果为True.

isidentifier() 方法用于判断字符串是否是有效的 Python 标识符,可用来判断变量名是否合法,如果字符串是有效的 Python 标识符返回 True,否则返回 False。

print('str'.isidentifier())

执行结果为True.

islower()判断字符串str中的字母是否为小写,若有大写则返回False;

str='hello,world!'
print(str.islower())

执行结果为True.

isupper()判断字符串str中的字母是否为大写,若有小写则返回False

print("HELLO".isupper())

执行结果为True

Isnumeric() 函数判断一对象是否为数字,返回布尔值,效果和isdigit()一样。

str='123456'
print(str.isnumeric())

执行结果为True.

isprintable()判断是否可打印,一般用于判断文件名,类似于tty文件或drive文件,字符串中使用较少。

print(str.isprintable())

isspace()用于判断输入是否为空格。

print(' '.isspace())

执行结果为True.

istitle() 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写,若符合此规则,返回True,否则返回False.

print("Hello,World!".istitle())

执行结果为True.

endswith()判断str是否已某特定字符或特定字符串结束。

str='123456'
print(str.endswith('6'))

执行结果为True.

startswith()判断str是否已某特定字符或特定字符串开始。

str='123456'
print(str.startswith('1'))

执行结果为True.

2.格式化输出

center()表示把已知字符串居中输出。

str='123456'
print(str.center(20,'-')) #把str居中输出,共输出20位,不够的在左右两端用‘-’补齐

执行结果为

-------123456-------

ljust()将字符串左对齐输出,按指定位数输出,若字符数不够在右边补指定字符。

str='MY name is '
print(str.ljust(20,'-'))

执行结果

MY name is ---------

rjust()将字符串右对齐输出,按指定位数输出,若字符数不够在左边补指定字符。

str='MY name is '
print(str.rjust(20,'-'))

执行结果

---------MY name is 

zfill()按指定位数输出字符串,若位数不够在前边补0,常用于2进制或8进制数补位。

str='101 '
print(str.zfill(8))

执行结果:

0000101

strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。 注意:该方法只能删除开头或是结尾的字符。

str='  101   '
print(str.strip())

执行结果101

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

str='  101   '
print(str.rstrip())

执行结果

  101

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

str='  101   '
print(str.lstrip())

执行结果

101  

capitalize()将字符串第一个字母大写

str='my name is'
print(str.capitalize())

执行结果为

My name is

expandtabs()方法把字符串中的 tab 符号(’\t’)转为空格,并按指定数字输出。

str='my\t name is'
print(str.expandtabs(tabsize=7))

执行结果为:

my      name is

format()为已知字符串传入参数并输出。

str='my name is {name} and i am {age} years old '
print(str.format(name='Sasha',age='19'))

执行结果为

my name is Sasha and i am 19 years old 

format_map()效果同format,只是传入参数已字典形式显示。

str='my name is {name} and i am {age} years old '
print(str.format_map({'name':'Sasha','age':19}))

执行结果为

my name is Sasha and i am 19 years old 

lower()将字符串中的大写字母全部转化成小写。

str='MY name is '
print(str.lower())

执行结果

my name is 

upper()将字符串中的小写字母全部转化成大写

str='MY name is '
print(str.upper())

执行结果

MY NAME IS 

3.其它操作
index()获取指定字符串中某一特定字符的索引(类似于列表的下标),找不到指定字符会报错

str='my name is'
print(str.index('y'))

执行结果为1

rindex()获取指定字符串中某一特定字符的最右边的索引(类似于列表的下标)

str='my name is'
print(str.rindex('m'))

执行结果为5

count()获取指定字符串中某一特定字符或字符串的数量。

str='my name is'
print(str.count('m'))

执行结果为2

find()获取指定字符串中某一特定字符的索引(类似于列表的下标),若找不到指定字符不会报错,而会返回-1

str='my name is'
print(str.find('n'))

执行结果为3

rfind()获取指定字符串中某一特定字符的最右边的索引(类似于列表的下标),效果同rindex()

str='my name is'
print(str.rfind('m'))

执行结果为5

encode() 方法以 encoding 指定的编码格式编码字符串

str='my name is'
print(str.encode(encoding='UTF-8'))

执行结果为

b'my name is'

split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串,默认用空格进行分裂,输出结果为列表。

str='my name is'
print(str.split(' ',1))

执行结果为

['my', 'name is']

rsplit() 通过指定分隔符对字符串进行切片,从右边开始,如果参数 num 有指定值,则仅分隔 num 个子字符串,默认用空格进行分裂,输出结果为列表。

str='my name is'
print(str.rsplit(' ',1))

执行结果为

['my name', 'is']

splitlines() 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为False,不包含换行符,如果为 True,则保留换行符。

str='my \n name is'
print(str.splitlines())

执行结果为

['my ', ' name is']

partition() 方法用来根据指定的分隔符将字符串进行分割。
如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。

str='www.baidu.com'
print(str.partition('.'))

执行结果

('www', '.', 'baidu.com')

rpartition() 方法用来根据指定的分隔符将字符串从右边进行分割。

str='www.baidu.com'
print(str.rpartition('.'))

执行结果

('www.baidu', '.', 'com')

title() 方法返回’标题化’的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见istitle())

str='www baidu com'
print(str.title())

执行结果

Www Baidu Com

replace()将字符串中特定字符或字符串用指定字符或字符串替换。

str='www baidu com'
print(str.replace('w','h'))

执行结果

hhh baidu com

join() 方法用于把了表或元组中的所有元素放入一个字符串,常常用于字符连接操作。

print(''.join(['a','b','c']))

执行结果abc

maketrans() 函数是生成一个翻译表,比如将‘abcdef’,按照顺序翻译成’123456’。
translate()函数和replace函数一样,用于替换字符串中的某个部分,但是和replace不同,translate只处理单个字符,而且可以同时进行多个替换。在使用translate函数转换之前,需要一张转换表,转换表中是以某个字符替换某个字符的对应关系,这个表中有256个字符,我们可以通过使用string模块中的maketrans函数简化这一操作

p=str.maketrans('abcdef','123456')
print('hello abc'.translate(p))

执行结果

h5llo 123

swapcase()将字符串中的大写变小写,小写变大写

print('hello ABC'.swapcase())

执行结果:

HELLO abc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值