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

先写到这吧,有时间再补充

 

 

  

posted @ 2016-11-30 23:10  rilweic  阅读(291)  评论(0编辑  收藏  举报