Python学习笔记-字符串及操作

Python学习笔记-字符串及操作_第1张图片

每一门语言都离不开字符串以及字符串操作,Python也为字符串定义了很多函数。

1、字符串切片

sub = string[起始位置:结束为止:步长]

  • 获得子字符串

    string = "http://www.jianshu.com/p/2cb6159d3f13"
    print("%s 子字符串:%s"%(string, string[7:15]))
    
  • 获得所有字符串

    string = "http://www.jianshu.com/p/2cb6159d3f13"
    print("%s 打印全部是:%s"%(string, string[0:len(string)]))
    print("%s 打印全部是:%s"%(string, string[0:]))
    print("%s 打印全部是:%s"%(string, string[:]))
    print("%s 打印全部是:%s"%(string, string[::]))
    
  • 反向打印字符串

    string = "http://www.jianshu.com/p/2cb6159d3f13"
    print("%s 反向打印字符串是:%s"%(string, string[::-1]))
    

2、find查找前缀,rfind查找后缀

string = "http://www.jianshu.com/p/2cb6159d3f13"
findIndex = string.find(":")
if findIndex == -1:
    print("%s 没有找到的协议"%string)
else:
    print("%s 找到的协议是:%s"%(string,string[0:findIndex]))

fileName = "/test/A/a.text"
findIndex = fileName.rfind(".")
if findIndex == -1:
    print("文件%s 没有找到扩展名"%fileName)
else:
    print("文件%s 找到的扩展名是:%s"%(fileName, fileName[findIndex+1:]))

3、如果使用index和rindex,需要注意,如果没有子字符串,则会出现异常

string = "http://www.jianshu.com/p/2cb6159d3f13"
print("%s 使用的协议是:%s"%(string, string[0:string.index(":")]))
print("%s 使用的协议是:%s"%(string, string[0:string.rindex(":")]))

4、count测试字符串重复出现的次数

  • 一般用法:

    string = "http://www.jianshu.com/p/2cb6159d3f13"
    subString = "jianshu"
    print("%s 在‘%s’重复出现了%d次"%(subString, string, string.count(subString)))
    
  • 特殊用法:count测试的时候可以指定起始位置和结束位置

    string = "http://www.jianshu.com/p/2cb6159d3f13"
    subString = "jianshu"
    print("%s在‘%s’的[%d,%d]区间重复出现了%d次"%(subString, string, 20, 30, string.count(subString, 20, 30)))
    

5、replace替换字符串中的子字符串

  • 用replace替换字符串时,需要注意原字符串不改变,替换后的字符串以返回形式返回

    string = "http://www.jianshu.com/p/2cb6159d3f13"
    newString = string.replace("http", "https")
    print("%s 替换协议后是:%s"%(string,newString))
    
  • 用replace默认替换所有匹配的,也可以指定替换几个

    message = "hello world! Ha Ha ha"
    
    newMessage1 = message.replace("Ha", "ha")
    print(newMessage1)
    
    newMessage2 = message.replace("Ha", "ha", 1)
    print(newMessage2)
    

6、split分隔字符串

string = "http://www.jianshu.com/p/2cb6159d3f13"
print(string.split("://"))

7、title:字符串每个单词首字母大写和capitalize:字符串首字母大写

message = "hello world! Ha Ha ha"
temp1 = message.title()
temp2 = message.capitalize()
print((message, temp1, temp2))

8、startswith和endswith

判断是否以某个字符串开头或结尾。

string = "http://www.jianshu.com/p/2cb6159d3f13"
if string.startswith("http"):
    print("字符串是以:http开头的");

fileName = "/test/A/a.text"
if fileName.endswith("text"):
    print("字符串是以:text结尾的");

9、lower和upper

将字符串以小写或大写形式输出。

message = "hello world! Ha Ha ha"
newMessage1 = message.lower()
newMessage2 = message.upper()
print("%s转换后为:%s====%s"%(message, newMessage1, newMessage2))

10、ljust、rjust和center

给定字符串宽度,输出按照左对齐,右对齐和中间对齐符串。

message = "hello world! Ha Ha ha"
print(message.ljust(50))
print(message.rjust(50))
print(message.center(50))

11、lstrip、rstrip和strip

输出去掉字符串前、后或者前后空格的字符串。

message = "   hello world! Ha Ha ha  "
print(message.lstrip(" "))
print(message.rstrip(" "))
print(message.strip(" "))

12、partition和rpartition

将字符串分成三部分,区别与split。

string = "http://www.jianshu.com/p/2cb6159d3f13"
print(string.partition("://"))
print(string.rpartition("://"))

13、join链接字符串

strings = ["hello", "world", "ha"]
strTemp = "*"
strTemp = strTemp.join(strings)
print(strTemp)

以上代码可以在GitHub找到。

你可能感兴趣的:(Python学习笔记-字符串及操作)