python 字符串操作
今天遇到从url解析软件名和版本号的问题,在这里记录一下,主要是python字符串的操作和常用的正则表达式.
python中字符串为不可变序列,也就是说,定义好的字符串不可在原处进行修改。
- python字符串声明
str1 = 'Hello World' str2 = "Hello World" str3 = '''Hello World''' str4 = """Hello World"""
python 字符串的声明可以是单引号,也可以是双引号,还可以是三引号,单、双引号可以互换,但是不能混用。
如果混用python的单、双引号,需要加上转义符\ 如
str5 = "He\'s Mom"
- raw字符串抑制转义
我们有事在操作文件系统时,如果是新手可能会这样操作
myfile = open('C:\new\text.dat','w')
但是这样会有问题,因为 \n 会被当成转义,所以为了避免这种情况,我们可以使用如下两种方式:
myfile = open('C:\\new\\text.dat','w') myfile = open(r'C:\new\text.dat','w')
推荐第二种方式,因为没那没多斜杠来混淆。
- 实际项目中常用的处理字符串的方法
str6 = "Goodevening" print len(str) str7 = str1 + str2 print str7 print "Hi!" * 4 # 遍历字符串 for ch in "Hello World": print ch.upper() # 将字符串大写 # 索引和分片 bcd = "abcdefg"[1:4] # bcd efg = "abcdefg"[-3:] # efg c = "abcdefg"[2] # 判断字符串是否为数字 "123".isdigit() # True "123.22".isdigit() # False # 字符串格式化输出 info = "my name is {0} i am {1} years old".format("MJ", "51") print info # 字符串查找 "Hello world".find("lo") # 3 "Hello world".find("o", 6, 8) # 7 "Hello world".find("morning") # -1 # 字符串替换 "Hello".replace("Hi", "Ye") # Hello 因为查找不到 Hi "Hello".replace("H", "h") # hello # 去除空格 print len(" strip ") # 长度为7 print len(" strip ".strip()) #长度为5 # 判断是否以某个字符串开头结尾 print "startend".startswith("start") print "startend".endswith("end") # 字符串转码 print ord("a") # 97 print chr(98) # b
先写到这吧,有时间再补充