python字符串操作

1.切片:
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法:[起始:结束:步长]
注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。

>>> string = "abcdefg"
>>> print(string[1:4])#取下标从1到3的元素
bcd
>>> print(string[0:-1:2])#取下标0到倒数第二个的元素,并隔一个取一个值
ace
>>> string = "abcdefg"
>>> print(string[::-1])#实现字符串的反转
gfedcba

2.字符串常见操作
使用字符串为:mystr = “how are you ? best wish for you”

  1. find:
    检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1.
    语法:mystr.find(str, start=0, end=len(mystr))
>>> mystr.find("you",3,10)#从下标为3开始,到小标为10结束,查找"you",没有找到,返回-1
-1
>>> mystr.find("you",3,20)#从下标为3开始,到小标为20结束,查找"you",第一次找到就返回下标
8
>>> mystr.find("you")
8
  1. index
    跟find()方法一样,只不过如果str不在 mystr中会报一个异常.
    语法:mystr.index(str, start=0, end=len(mystr))
>>> mystr.index("you",3,10)#从下标为3开始,到小标为10结束,查找"you",没有找到,报错
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    mystr.index("you",3,10)
ValueError: substring not found
  1. count
    返回 str在start和end之间 在 mystr里面出现的次数.
    语法:mystr.count(str, start=0, end=len(mystr))
>>> mystr.count("you",3,10)
0
>>> mystr.count("you",3,20)
1
>>> mystr.count("you")
2
  1. replace
    把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.不指定全部替换
    语法:mystr.replace(str1, str2, mystr.count(str1))
>>> mystr.replace("you","she",1)
'how are she ? best wish for you'
>>> mystr.replace("you","she")
'how are she ? best wish for she'
  1. split
    以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
    语法:mystr.split(str,maxsplit)
>>> mystr.split(" ",3)
['how', 'are', 'you', '? best wish for you']
>>> mystr.split(" ")
['how', 'are', 'you', '?', 'best', 'wish', 'for', 'you']
  1. capitalize
    把字符串的第一个字符大写
    语法:mystr.capitalize()
>>> mystr.capitalize()
'How are you ? best wish for you'
  1. title
    把字符串的每个单词首字母大写
    语法:mystr.title()
>>> mystr.title()
'How Are You ? Best Wish For You'
  1. startswith
    检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False
    语法:mystr.startswith(obj)
>>> mystr.startswith("best")
False
>>> mystr.startswith("how")
True
  1. endwith
    检查字符串是否以obj结束,如果是返回True,否则返回 False.
    语法:mystr.endswith(obj)
>>> mystr.endswith("you")
True
>>> mystr.endswith("?")
False
  1. lower
    转换 stt 中所有大写字符为小写
    语法:stt.lower()
>>> stt="HOW ARE you"
>>> stt.lower()
'how are you'
  1. upper
    转换 mystr 中的小写字母为大写
    语法:mystr.upper()
>>> mystr.upper()
'HOW ARE YOU ? BEST WISH FOR YOU'
  1. ljust
    返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
    语法:mystr.ljust(width)
>>> mystr.ljust(50)
'how are you ? best wish for you                   '
  1. rjust
    返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
    语法:mystr.rjust(width)
>>> mystr.rjust(50)
'                   how are you ? best wish for you'
  1. center
    返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
    语法:mystr.center(width)
>>> mystr.center(50)
'         how are you ? best wish for you          '
  1. lstrip
    删除 string 左边的空白字符
    语法:string.lstrip()
>>> string = "             how   much  money      "
>>> string.lstrip()
'how   much  money      '
  1. rstrip
    删除 string 字符串末尾的空白字符
    语法:string.rstrip()
>>> string = "             how   much  money      "
>>> string.rstrip()
'             how   much  money'
  1. strip
    删除string字符串两端的空白字符
    语法:string.strip()
>>> string = "             how   much  money      "
>>> string.strip()
'how   much  money'
  1. rfind
    类似于 find()函数,不过是从右边开始查找.
    语法:mystr.rfind(str, start=0,end=len(mystr) )
>>> mystr.rfind("you")
28
>>> mystr.rfind("you",0,20)
8
  1. rindex
    类似于 index(),不过是从右边开始.
    语法:mystr.rindex( str, start=0,end=len(mystr))
>>> mystr.rindex("you")
28
  1. partition
    把mystr以str分割成三部分,str前,str和str后
    语法:mystr.partition(str)
>>> mystr.partition("you")
('how are ', 'you', ' ? best wish for you')
  1. rpartition
    类似于 partition()函数,不过是从右边开始.
    语法:mystr.rpartition(str)
>>> mystr.rpartition("you")
('how are you ? best wish for ', 'you', '')
  1. splitlines
    按照行分隔,返回一个包含各行作为元素的列表
    语法:string.splitlines()
>>> string = "best\nwish\nyou"
>>> print(string)
best
wish
you
>>> string.splitlines()
['best', 'wish', 'you']
  1. isalpha
    如果 string 所有字符都是字母 则返回 True,否则返回 False
    语法:string.isalpha()
>>> string = "abc"
>>> string.isalpha()
True
>>> string = "abc123"
>>> string.isalpha()
False
  1. isdigit
    如果 string 只包含数字则返回 True 否则返回 False.
    语法:string.isdigit()
>>> string = "123"
>>> string.isdigit()
True
>>> string = "abc123"
>>> string.isdigit()
False
  1. isalnum
    如果 string所有字符都是字母或数字则返回 True,否则返回 False
    语法:string.isalnum()
>>> string = "abc123"
>>> string.isalnum()
True
>>> string = "abc123!@"
>>> string.isalnum()
False
  1. isspace
    如果 string中只包含空格,则返回 True,否则返回 False.
    语法:string.isspace()
>>> string = "       "
>>> string.isspace()
True
>>> string = "   a"
>>> string.isspace()
False
  1. join
    string中每个字符后面插入str列表,构造出一个新的字符串
    语法:string.join(str)
>>> str = ["i","like","you"]
>>>> " ".join(str)
'i like you'

Q:给定一个字符串string,返回使用空格或者’\t’分割后的倒数第二个子串
提示:"\t"也属于空格
string.split()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值