Python字符串方法

549 阅读5分钟
  • 字符串方法

    • 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()

      将原字符串中大写字母转小写字母,小写字母转大写字母。

    • eplace**(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()返回-1print(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]
  2. string[20]
  3. string[3:-4]
  4. string[-10:-3]
  5. string.lower()
  6. string.replace("o", "0")
  7. string.startswith('python')
  8. string.split()
  9. len(string)
  10. string[30]
  11. 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))