python基础(6)—字符串操作

1、创建字符串

name = 'Zhang-San'
sex = '男'
age = str(18)  # 把整型的18转换为字符串'18'
# 创建多行字符串
info = '''
性格温和,脾气好,
喜欢打球,爱好旅游
'''

2、下标、切片、分割与合并

字符串下标从0开始,在字符变量后面用中括号[]索引

name = 'Zhang-San'
# 索引字符串
first_str = name[0]  # 'Z'
last_str = name[-1]  # 'n'
# 切片字符串
first_name = name[0:5]  # 'Zhang'
last_name = name[-3:]  # 'San'
# 分割字符串
name.split('-')  # 按符号'-'分割字符串,返回值为['Zhang', 'San'],不传参则默认按空格分割
# 合并字符串
name = first_name + last_name  # 'Zhang-San'
name = first_name.join(last_name)  # SZhangaZhangn,在last_name每个字符间都插入first_name
name = ''.join([first_name, last_name])  # 'Zhang-San'

3、常用方法

3.1 判断是否包含

name = 'Zhang-San'

# in和not in判断字符串是否包含子串
is_Zhang = 'Zhang' in name  # True
not_Li = 'Li' not in name  # True

# is判断
name.isalpha()  # True,如果字符串只包含字母,并且非空;
isalnum()  # True,如果字符串只包含字母和数字,并且非空;
isdigit()  # False,如果字符串只包含整数,并且非空;
isdecima()  # False,如果字符串只包含十进制数字,并且非空;
isnumeric()  # False,如果字符串只包含数字,并且非空;
isspace()   # False,如果字符串只包含空格,制表符和换行,并且非空; 

isitle()   # True,如果字符串仅包含以大写字母开头、后面都是小写字母的单词。


# 是否以某字符串为开头/结尾
name.startwith('Zhang')  # 是否以'Zhang'开头,True
name.endwith('san')  # 是否以'san'结尾,Falese

3.2 英文大小写转换

up_name = name.upper()  # 'ZHANG-SAN'
lo_name = name.lower()  # 'zhang-san'
name.is_upper()  # True,如果全部字母均为大写
name.is_lower()  # True,如果全部字母均为小写
name.capitalize()  # 字符串的第一个字符大写
name.swapcase()  # 全部字符大小写转换

3.3 字符串对齐

# 在长度为10的字符串中左对齐,空位用'*'填充,返回值'hello*****'
word = 'hello'.ljust(10, '*')  
# 在长度为10的字符串中右对齐,空位用'-'填充,返回值'-----hello'
word = 'hello'.rjust(10, '-')  
  # 在长度为10的字符串中居中,空位用空格填充,返回值'  hello   '
word = 'hello'.ljust(10)'

3.4 删除两端字符

word.lstrip('*')  # 删除字符串左端'*'
word.rstrip('-')  # 删除字符串右端'-'
word.strip()  # 删除字符串两端空格,不传参默认是空格

3.5 复制和粘贴

复制和粘贴需要用到pyperclip模块,有copy0)和paste()函数,该模块不是Python自带的,需要导包

import pyperclip

pyperclip.copy('Li-Si')
name = pyperclip.paste()
# name = 'Li-Si'

3.6 查找、统计和替换

# 查找
word.find('lo')  #  查找lo在word第一次出现的位置,若找不到则返回-1
word.rfind('lo')  #  查找lo在word最后一次出现的位置,若找不到则返回-1
word.index('lo')  #  查找lo在word第一次出现的位置,若找不到则报错
word.rindex('lo')  #  查找lo在word最后一次出现的位置,若找不到则报错

# 统计
word.count('e', 1, 4)  # 在word的第2~3个字符中统计l的个数,默认范围是从头到尾

# 替换
word.replace('l', 'e', 3)  # 替换word中的l为e,最大替换3次,默认不限次数
word.expandtabs(tabsize=8)  # 把tab替换为空格,默认tab为8个空格
  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值