Python字符串

发布时间:2023年12月31日

创建字符串

赋值创建

s = ''      # 创建空字符串
s1 = 'abc'  # 创建字符串

str转换

ls = [1,2,3]  
s = str(ls)    # 把列表的中括号、元素、逗号都转换为字符串元素,并且元素间引入单个空格
print('字符串s中元素数量:', len(s))
print(s)

字符串运算

s = 'abc' * 3     # 复制
s1 = s + s        # 拼接
s2 = s1[0: 9: 3]  # 切片
print(s, s1, s2, sep='; ')

字符串方法

检索字符

s = 'abc 123 abc'
print(s.count('ab'))   # 返回子字符串(指定的字符串)的数量
print(s.find('ab'))    # 返回最左边子字符串的索引(子串第一个字符的索引),否则返回-1
print(s.index('ab'))   # 返回最左边子字符串的索引(子串第一个字符的索引),否则返回ValueError
print(s.rfind('ab'))   # 返回最右边子字符串的索引(子串第一个字符的索引),否则返回-1
print(s.rindex('ab'))  # 返回最右边子字符串的索引(子串第一个字符的索引),否则返回ValueError

重构字符串

s = 'aBC'
print(s.replace('B', '-'))  # 替换字符,并返回新字符串
print(s.capitalize())       # 返回仅首字母大写的字符串,其他大写字母会被转换为小写
print(s.upper())            # 返回全大写字符串
print(s.lower())            # 返回全小写字符串
print(s.center(5, '-'))     # 返回用指定字符填充到设定长度的字符串,居中对齐
print(s.ljust(5, '-'))      # 返回用指定字符填充到设定长度的字符串,左对齐
print(s.rjust(5, '-'))      # 返回用指定字符填充到设定长度的字符串,右对齐
print(s.zfill(5))           # 返回开头用0填充到设定长度的字符串,即右对齐

print()
print(s)                    # 以上方法均不修改原字符串,返回新的字符串
# strip方法删除字符时把字符串端部的单个字符与指定字符组合逐个进行匹配,匹配上即删除,\
# 一直删除到没有匹配的字符,并不是按照指定字符的组合顺序进行整体匹配

# 删除特定字符
s = "txtabctxt.txt"
print(s.lstrip(".txt"))  # 删除左端指定字符,返回新字符串
print(s.rstrip(".txt"))  # 删除右端指定字符,返回新字符串
print(s.strip(".txt"))   # 删除两端指定字符,返回新字符串
print(s)

s1 = "demo!.!"
print(s1.strip(":;!.?"))  
print(s1)

测试字符串类型

s = 'aBC123'
s1 = 'abc'
s2 = 'ABC'
s3 = '123'
s4 = '  '
s5 = '一二三ⅠⅡⅢ'
print(s.startswith('a'))  # 若字符串以指定字符开头返回True,否则返回False
print(s.endswith('123'))  # 若字符串以指定字符结尾返回True,否则返回False

print(s.isalnum())        # 若全是字母或数字则返回True,否则返回False
print(s1.isalpha())       # 若全为字母则返回True,否则返回False
print(s3.isdigit())       # 若全为0~9数字则返回True,否则返回False
print(s4.isspace())       # 若全为空白符(如空格、制表符等)则返回True,否则返回False

print(s1.islower())       # 若全为小写则返回True,否则返回False
print(s2.isupper())       # 若全为大写则返回True,否则返回False

print(s3.isdecimal())     # 若全为十进制的0~9数字则返回True,否则返回False
print(s5.isnumeric())     # 若字符串为数值则返回True,如中文数字、罗马数字均返回True,否则返回False

拆分合并字符串

s = 'a and b and c'
print(s.split())                  # 用指定字符拆分字符串,返回列表,默认用空格
print(s.split(' and '))
print('-'.join(['a', 'b', 'c']))  # 用指定字符把迭代对象组合为字符串,待组合的元素必须为字符

?字符串格式化

Python字符的格式化有两种方式,%格式化和format格式化。?

%格式化

pi = 3.1415926
ratio = 0.3
number = 1
value = 100000
print('圆周率:%s' % pi)                           # 格式化为字符串,即原位输出
print('圆周率%s,格式化为整数:%d' % (pi, pi))       # 格式化为整数
print('圆周率%s,格式化为两位小数:%.2f' % (pi, pi))  # 格式化为浮点数保留2位小数
print('百分比:%.2f%%' % (ratio*100))              # 格式化为百分数
print('指数形式:%.2e' % value)                    # 格式化为指数

print('编号:%6d' %  number)   # 指定字符串宽度并在左侧用空格填充,默认右对齐
print('编号:%-6d' %  number)  # 指定字符串宽度并在右侧用空格填充,左对齐
print('编号:%06d' %  number)  # 指定字符串宽度并在左侧用0填充,即右对齐

format格式化

?format格式化的模版:'[index]:[fill][align][sign][width][.precision][type]'.format(*args)

pi = 3.1415926
ratio = 0.3
number = 1
value = 100000
print('圆周率{}'.format(pi))                                # 花括号表示占位符,仅填充内容时不用冒号,设置格式方式时要用冒号
print('圆周率{},格式化为整数:{:.0f}'.format(pi, pi))         # 格式化为整数
print('圆周率{},格式化为两位小数:{:.2f}'.format(pi, pi))     # 格式化为2位小数
print('圆周率{0:},格式化为两位小数:{0:.2f}'.format(pi))      # 使用待填充参数的索引值

print('百分比形式:{:.2%}'.format(ratio))                    # 格式化为百分数
print('指数形式:{:.2e}'.format(value))                      # 格式化为指数
print('符号形式:{:+}'.format(ratio))                        # 正数前添加加号

print('右对齐:{:06}'.format(number))                       # 默认右对齐
print('右对齐:{:*>6}'.format(number))                      # >表示右对齐
print('左对齐:{:*<6}'.format(number))                      # <表示左对齐
print('居中对齐:{:*^5}'.format(number))                     # ^表示居中对齐

print('编号:{0:0>6},比例:{1:.2f}'.format(ratio, number))   # 使用参数索引值时所有占位符内都要输入索引值
文章来源:https://blog.csdn.net/yikoutunsikou/article/details/135305232
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。