每周进步一点点_python_字符串方法学习笔记

github: https://github.com/dxj728/python_test/blob/master/string_test.py

 

# --coding:utf-8--
# File: string_test.py
# Author: dxj728
# Time: 2019年08月18日21时
# 说明:string方法学习
# 参考来源:	https://www.runoob.com/python3/python3-string.html

import string

# 注:string 不支持单字符类型,单字符在python也视为一个字符串使用

str = 'hello world!'
r_str = r'hello world\n'		# 原始字符串,所见即所得(系统内部自动转义)
u_str = u'你好!'			# 仅python2中使用,表示utf-8字符(python2默认为8位ascii码),python默认均为Unicode字符
print(str, r_str, u_str)

str1 = str[0:5]		# 字符串截取,返回截取后字符串
print(str, str1)		# ('hello world!', 'hello')

# 运算符
str2 = str * 2		# 重复输出字符串
str3 = 'a' in str		# 包含指定字符串则返回True
str4 = 'a' not in str 		# 不包含指定字符串返回False
print(str2, str3, str4)			# ('hello world!hello world!', False, True)

# 字符串格式化: 格式化参数 = 备注1
str5 = 'my name is %s, and %d years old' % ('dxj', 18)
str6 = 'my name is {0}, and {1} years old'.format('dxj', 18)
print(str5, str6)			# my name is dxj, and 18 years old

# 编解码
str7 = str.encode(encoding='utf-8')		# 以指定编码格式编码字符串(该处返回bytes对象)
str8 = str7.decode(encoding='utf-8')		# 以指定编码格式解码字符串
print(str7, str8)

# 字符串合并与分割:行界符定义 = 备注2
str9 = str.split('e', maxsplit=1)		# 以特定字符串分割截取字符串(分割后生成子字符串均不携带该字符串),若最大截取次数maxsplit指定,则截取maxsplit次,返回maxsplit+1个字符串
str10 = str.splitlines(keepends=False)		# 以行界符分割,返回字符串列表list,若参数keepends=False,则返回值不包括换行符,为True则包含

str11 = str.strip('a')		# 去掉字符串两边的指定字符(默认指定字符为空格)
str12 = str.lstrip('a')		# 去掉字符串左边(前面)的指定字符(默认指定字符为空格)
str13 = str.rstrip('a')		# 去掉字符串右边(后面)的指定字符(默认指定字符为空格)

str14 = str.join('a')		# 以指定字符串为分隔符,将list或tuple中各元素合并为一个新的字符串

str15 = str.partition('a')		# 以指定的分隔符将字符串(从左往右)进行分割,返回一个3元的元组,[1]为分隔符左边的子串,[2]为分隔符本身吗,[3]为分隔符右边的子串
str16 = str.rpartition('a')		# 同上,方向换为从右往左(从后往前)

str17 = str.replace('old', 'new', 1)		# 使用new子字符串替换字符串中的old子字符串,若指定第3参数,则替换不超过max次

str18 = str.ljust(50, '*')		# 返回指定长度字符串,字符串内容居左,若原始长度超过指定长度,则返回原始字符串,否则填充指定字符串(默认为ascii空格)
str19 = str.rjust(50, '*')		# 同上,字符串内容居右
str20 = str.center(50, '*')		# 同上,字符串内容居中
str21 = str.zfill(10)			# 同上,从左开始用0填充字符串至指定长度

# 字符串查找与判断
str22 = str.find('a', 0, 10)		# 检测字符串中是否包含子字符串,如果指定 beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,如果包含子字符串,则返回开始的索引值(下标,从0开始),否则返回-1。
str23 = str.rfind('a', 0, 10)		# 同上,从右开始(从后往前)
str24 = str.count('a', 0, 10)		# 查找指定字符串出现的次数,并可指定查找开始和结束范围

str25 = str.index('a', 0, 10)		# 同find()方法,但指定子字符串找不到时会报ValueError异常

str26 = str.isdigit()		# 判断字符串是否只由数字构成,是返回True,否则返回False
str27 = str.isalpha()		# 判断字符串是否只由字母构成,是返回True,否则返回False
str28 = str.isalpha()		# 判断字符串是否只由字母或数字构成,是返回True,否则返回False
str29 = str.isspace()		# 判断字符串是否只由空格构成,是返回True,否则返回False

str30 = str.istitle()		# 判断字符串是否标题化(首字母大写,忽略非字母),是返回True,否则返回False
str31 = str.isupper()		# 判断字符串中所有的字母是否都为大写
str32 = str.islower()		# 判断字符串中所有的字母是否都为小写

str33 = str.startswith('a')		# 判断字符串是否以指定字符开始
str34 = str.endswith('a')		# 判断字符串是否以指定字符结束

# 字符串变换
str35 = str.title()			# 返回标题化字符串(首字母大写)
str36 = str.swapcase()		# 字符串大小写反转
str37 = str.upper()			# 字符串均转为大写
str38 = str.lower()			# 字符串均转为小写
str39 = str.expandtabs(tabsize=8)		# 将字符串中的tab符号('\t')转换为空格,默认的空格数(tabsize参数)是8;

map = string.maketrans('abc', '123')		# 创建字符映射的转换表,第1,2参数逐一对应转换关系
str40 = str.translate(map, 'de')			# 对字符串执行转换,第2参数为需要删除的参数





 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值