python怎么初始化字符串_python字符串操作

基础

获取字符串长度: len(str)

子串str1在字符串str中出现的次数: str.count(str1)

字串str1在字符串str中第一次出现的索引: str.index(str1)

判断类型

判断字符串中字符的类型

str = ‘Hello World’

print(str.isspace()) # False str中值包含空格

print(str.isalnum()) # False str中所有字符都是字母/数字

print(str.isalpha()) # False str中所有字符都是字母

print(str.isdecimal()) # False str中所有字符都是数字

print(str.istitle()) # True str中每个单词首字母大写(标题化)

print(str.islower()) # False str中所有字符都是小写

print(str.isupper()) # False str中所有字符都是大写

查找和替换

str = ‘Hello World’

print(str.startswith(‘Hello’)) # True str以指定子串开头(区分大小写)

print(str.endswith(‘world’)) # False str以指定子串结尾(区分大小写)

print(str.find(‘llo’, 0, 5)) # 2 str在指定范围0~5内查询子串,若存在返回子串索引,不存在则返回-1

print(str.rfind(‘l’, 0, 5)) # 类似于find(),只是从右边开始查找

print(str.index(‘llo’, 0, len(str))) # 2 str在指定范围内查询子串,若存在返回子串索引,不存在则报错

print(str.rindex(‘llo’, 0, len(str))) # 2 类似于find(),只是从右边开始查找

print(str.replace(‘llo’, ‘oll’, str1.count(‘llo’))) # ‘Heoll World’ str中new_str替换old_str, 替换次数 <= 指定次数

print(str.replace(‘lla’, ‘ool’, 2)) # ‘Hello World’ 当str中不存在old_str时,返回str本身

大小写替换

str = ‘Hello World’

print(str.lower()) # ‘hello world’ 将str中所有字符小写

print(str.upper()) # ‘HELLO WORLD’ 将str中所有字符大写

print(str.title()) # ‘Hello World’ 将str中每个单词首字母大写(标题化)

print(str.capitalize()) # ‘Hello world’ 将字符串首字母大写,其他全部小写

print(str.swapcase()) # ‘hELLO wORLD’ 翻转str中的大小写

去除空白字符

str = ‘\nabc\t’

print(str.strip()) # ‘abc’ 去除str两边的空白字符

print(str.lstrip()) # ‘abc\t’ 去除str左边的空白字符

print(str.rstrip()) # ‘\nabc’ 去除str右边的空白字符

拆分

str = ‘\na\tb c\t’

print(str.split()) # [‘a’, ‘b’, ‘c’] 按空白字符切分字符串为列表

print(str.split(‘ ‘)) # [‘\na\tb’, ‘c\t’] 按空格切分字符串为列表

字符拼接

“+”

.join() 将列表转化为字符串

str = [‘hello’, ‘world’, ‘everyone’]

print(‘*’.join(str)) # hello*world*everyone

print(”.join(str)) # helloworldeveryone

.format() 字符串中{}数量和format()参数个数必须一致

str = ‘{} {}!’.format(‘hello’, ‘world’) # hello world!

%

str = ‘%s, %s!’ % (‘hello’, ‘world’) # hello,world!

string.Template()

首先通过Template初始化一个字符串。这些字符串中包含了一个个key。

通过调用substitute或safe_subsititute,将key值与方法中传递过来的参数对应上,从而实现在指定的位置导入字符串。

这种方式的好处是不需要担心参数不一致引发异常

from string import Template

str = Template(‘${s1} ${s2} ${s3}!’)

print(str4.safe_substitute(s1=’hello’, s2=’world’)) # hello world ${s3}!

F-strings

s1 = ‘hello’

s2 = ‘world’

print(f'{s1} {s2}!’) # hello world!

切片

使用索引值来限定范围,从一个大的字符串切出小的字符串.

适用于字符串、列表、元祖,不支持字典

str[start: end: step]

默认start=0, end=len(str), step=1

第一个字符索引=0 or -len(str); 第二个字符索引=-1 or len(str)

step的正负决定切片的方向: 负数(逆序)、正数(顺序)

本质:调用魔法函数__getitem__()

《python怎么初始化字符串_python字符串操作》

str = ‘0123456789’

print(str[0:3]) # 012

print(str[:3]) # 012 索引:0 ~ (3-1)

print(str[3:]) # 3456789 索引:3 ~ 最后

print(str[3::2]) # 3579

print(str[::2]) # 02468

print(str[0:len(str)]) # 0123456789 索引: 0 ~ len(str)-1

print(str[-1]) # 9 索引: 最大

print(str[0:-1]) # 012345678 索引: 0 ~ (最大-1)

print(str[::-1]) # 9876543210 从0 ~ 最后 逆序切

print(str[:5]) # 01234 索引:0 ~ 5

print(str[-5:]) # 56789 索引: -5 ~ -1

print(str[-1:0:-1]) # 987654321

print(str[-1:-len(str):-1]) # 987654321

string

import string

# 获取大小写字母集

print(string.ascii_letters)# abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

# 获取小写字母集

print(string.ascii_lowercase)# abcdefghijklmnopqrstuvwxyz

# 获取大写字母集

print(string.ascii_uppercase)# ABCDEFGHIJKLMNOPQRSTUVWXYZ

# 获取数字

print(string.digits)# 0123456789

# 获取大小写字母和特殊字符集

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

# 获取特殊字符

print(string.punctuation)# !”#$%&'()*+,-./:;<=>?@[\]^_`{|}~

# 获取16进制字符

print(string.hexdigits) # 0123456789abcdefABCDEF

    原文作者:weixin_39671621
    原文地址: https://blog.csdn.net/weixin_39671621/article/details/111008039
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞