0X00 如何定义一个字符串
** Python不需要定义 ** 其实就是这样的。。在Python中的字符串通常这么写
1 2 3
| >>> str1 = 'hello,world' >>> str2 = "It's work" >>> str3 = """ Jack:"oh shit" """
|
str1 的声明方式是最普通的声明方式
str2 的声明方式可以在字符串中存在单引号‘
str3 的声明方式可以在字符串中存在双引号 “ 还能在字符串中换行
0X01 拼接字符串
1 2 3 4 5
| >>> str1 = "hello" >>> str2 = "," >>> str3 = "world" >>> print str1 + str2 + str3 hello,world
|
注意:
连接的时候加号左右都要是字符串,如果是字符串加数字就不行了。除非把数字转成字符串格式
0X02 输入字符串
标准输入就是直接把你输入的东西写到代码里,甚至可以用变量名
原始输入就是直接输入字符串,纯字符串
具体情况可以从下面的Demo中看到效果
1 2 3 4 5 6 7 8 9
| >>> hello = "hello,world" >>> str1 = input("what's your name:") hello >>> str2 = raw_input("what's your name:") "hello" >>> print str1 hello,world >>> print str2 hello
|
0X03 字符串格式化
学过C的能迅速的理解Python里的字符串格式化,没学过C的可以快速的理解Python里的字符串格式化 +_+
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| >>> from string import Template >>> text = Template("1---$a 2---$b 3---$c 4---$$") >>> text.substitute(a="hello,", b="world", c="wow") '1---hello, 2---world 3---wow 4---$'
>>> print "hello, %s" % ("world") hello, world
>>> print "hello, %15s" % ("world") hello, world >>> print "%15s, world" % ("hello") hello, world
>>> print "%-15s, world" % ("hello") hello , world
|
0X04 字符串处理函数
find 字符串查找
从一个字符串中查找另一个字符串,返回最左端索引,找不到就返回 -1
1 2 3 4 5 6
| >>> str = "hello,world" >>> str.find(",") 5 >>> str = "hello,hello,world,world" >>> str.find(",", 8, 12) 11
|
如果find函数返回了0,并不是没找到,而是在0的位置找到了。毕竟程序员的世界从来都是从0开始数数的
join 连接
连接序列中的元素
1 2 3 4
| >>> str1 = ['hello', 'world'] >>> str2 = "---".join(str1) >>> print str2 hello---world
|
注意这里是 str.join(list) 而不是 list.join(str)
lower 我要小写
返回字符串的全小写版
1 2 3 4
| >>> str1 = "HELLO,WORLD" >>> str2 = str1.lower() >>> print str2 hello,world
|
replace 查找并替换
查找并替换全部
1 2 3 4
| >>> str1 = "my world, my house, my phone" >>> str2 = str1.replace("my", "your") >>> print str2 your world, your house, your phone
|
split 分割
分割字符串
1 2 3 4
| >>> str1 = "hello,world" >>> str2 = str1.split(",") >>> print str2 ['hello', 'world']
|
strip 清理字符串
去除两侧的东西
strip默认去除两侧的空格,当然也可以加参数
1 2 3 4 5 6 7 8 9 10
| >>> str1 = " hello,world " >>> str2 = str1.strip() >>> print str2 hello,world
>>> str1 = "aaahello,worldaaa" >>> str2 = str1.srtip("a") >>> print str2 hello,world
|