聊聊你对python字符串的理解吧2

203 阅读5分钟

字符串 2

  • 字符串方法

  • capitalize()

  • 首字母转大
  • count(sub[, start[, end]])
  • 在指定索引start到end区间范围内去查找sub子字符串出现的次数。
  • len()
  • 返回字符串的长度
  • endswith(suffix[, start[, end]])
  • 检查字符串是否以某个子字符串作为后缀,start表示开始匹配的位置,end表示停止匹配的位置。
  • startswith(prefix[, start[, end]])
  • 检查字符串是否以某个子字符串作为前缀,start表示开始匹配的位置,end表示停止匹配的位置。
  • find(sub[, start[, end]])

    • 在字符串中查找第一次出现子字符串sub的索引位置,找不到返回-1,start设置起始索引,end设置结束索引。
  • rfind(sub[, start[, end]])

    • 在字符串中查找最后一次出现子字符串sub的索引位置,找不到返回-1,start设置起始索引,end设置结束索引。
  • index(sub[, start[, end]])

    • 和find方法一样,但是找不到时会抛出ValueError异常。
  • rindex(sub[, start[, end]])

    • 和rfind方法一样,但是找不到时会抛出ValueError异常。
  • sep.join(str)

    • 以sep作为分隔符,将str的每个字符进行分割,并返回分割后的新的字符串。
  • lower()

    • 将原来字符串中的字符全部转为小写字母返回。
  • upper()

    • 将原来字符串中的字符全部转为大写字母返回。
  • isalnum()

    • 如果一个字符串至少有一个字符,并且所有的字符都是字母或数字则返回True,否则返回False。
  • isalpha()

    • 如果一个字符至少有一个字符,并且所有的字符都是字母则返回True,否则返回False。
  • isdigit()

    • 如果一个字符至少有一个字符,并且所有的字符都是数字则返回True,否则返回False。
  • isspace()

    • 如果一个字符串至少有一个字符,并且全都是由空白字符组成则返回True,否则返回False。
  • istitle()

    • 如果一个字符串至少有一个字符,并且每个单词的首字母都是大写后面字符小写则返回True,否则返回False。
  • isupper()

    • 如果一个字符串至少有一个字符,并且里面的字母都是大写则返回True,否则返回False。
  • swapcase()

    • 将原字符串中大写字母转小写字母,小写字母转大写字母。
  • replace(old, new[, count])

    • 将原字符串中old字符替换成new字符返回,替换次数不超过count(默认全部替换)次。
  • split(sep=None[, maxsplit=-1])

    • 按照sep分割字符串,返回一个list对象,如果指定了maxsplit,则从左边开始分割maxsplit次。
  • rsplit(sep=None, maxsplit=-1)

    • 按照sep分割字符串,返回一个list对象,如果指定了maxsplit,则从右边开始分割maxsplit次。
  • strip()

    • 将前后的空白符或指定字符删除掉
  • lstrip([chars])

    • 截掉字符串左边的空格或指定字符。
  • rstrip([chars])

    • 截掉字符串边4的空格或指定字符。
  • casefold()

    • 将大写字母转小写字母。
  • center(width[, fillchar])

    • 指定字符串显示width,不足的地方使用fillchar(默认空格)字符填充,原字符串居中显示。
  • ljust(width[, fillchar])

    • 指定字符串显示width,不足的地方使用fillchar(默认空格)字符填充,原字符串靠左显示。
  • rjust(width[, fillchar])

    • 指定字符串显示width,不足的地方使用fillchar(默认空格)字符填充,原字符串靠右显示。
  • zfill(width)

    • 指定字符串显示width,不足的地方在左边使用0补齐。
  • max()

    • 返回字符串中值最大的字符
  • min()

    • 返回字符串中值最小的字符
  • str.encode(encoding="utf-8", errors="strict")

    • 将一个字符串按照指定编码转成其字节编码对象
  • expandtabs(tabsize=8)

    • 将字符串中的\t替换成空格,默认一个\t会替换成8个空格。

代码练习1

#字符串常用的函数

# len() - 返回字符串的长度(字符串中字符的个数)
mystr=""
print(len(mystr))    #0

# upper() - 字符串全部字符转为大写
mystr="hello"
print(mystr.upper())  
print(mystr)    #upper()不会改变原来的字符串

# lower() - 字符串全部字符转为小写
mystr="HE" 
print(mystr.lower())  
print(mystr)

# capitalize() -字符串首字符转为大写
mystr="java"
print(mystr.capitalize()) 
print(mystr)  

# find() - 检查字符串是否包含给定的部分字符串,如果包含,返回索引值(>=0)  否则返回-1
mystr = "hello java hello"
# print(mystr.find("hello"))  

# rfind() - 同find(),从右(right)开始找
# print(mystr.rfind("hello"))   

# index() - 同find(), 不同之处在于:如果不包含给定的部分字符串,会抛出错误(而find()返回-1)   
# print(mystr.index("python"))   


# split() - 用给定的分割符把整个字符串分割为多个字符串,默认分隔符为空格
mystr="hello+java"
print(mystr.split("+"))  

# replace() - 把匹配到的内容用给定的部分字符串替换
mystr = "3+5+7+9"
print(mystr.replace("+","-"))

# strip() - 删除字符串前后的给定的字符 , 默认删除空白符
mystr = "      hello python----- \n   "
mystr = mystr.strip()
mystr = mystr.strip("-")
print(mystr) 

# count() - 统计出字符串中给定的字符串出现的次数
mystr = "sfghjavajkl;jjavakl;l"
print(mystr.count("java"))  

# endswith()  -  检查字符串是
否以给定的部分字符串结尾
# startswith() - 检查字符串是否以给定的部分字符串开头
mystr = "hello.py" 
print(mystr.endswith(".py")) 

不用解释器执行代码,请说出下面语句执行后的结果

string = "Python is good"

    1. string[1:20]
    1. string[20]
    1. string[3:-4]
    1. string[-10:-3]
    1. string.lower()
    1. string.replace("o", "0")
    1. string.startswith('python')
    1. string.split()
    1. len(string)
    1. string[30]
    1. string.replace(" ", '')

代码练习2

# join()   字符串作为连接符,将给定的字符序列连接成新的字符串
print('-'.join('hello'))  
# max()  返回值最大的字符
print(max('hellojavaw')) 
# min()  返回最小的字符
print(min('hellojava')) 

# format()    
print("My name is {name}, I am {age}".format(name='zhangsan',age=20))