python的字符串有如下特性:
a = [\'a\',\'b\',\'c\',\'d\']
content = \'\'\'\'.join(a)
print content
a = [\'a\',\'b\',\'c\',\'d\']
content = \'\'content = \'%s%s%s%s\' % tuple(a)
print content
我们可以通过索引来提取想要获取的字符, 可以把python的字符串也做为字符串的列表就更好理解python的字串列表有2种取值顺序.
s = \'ilovepython\'
s[0]的结果是i
s = \'ilovepython\'
s[-1]的结果是n
上面这个是取得一个字符,如果你的实际要取得一段子串的话,可以用到变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。而且尾下表并不包含在其中。
字符串替换可以用内置的方法和正则表达式完成。
a = \'hello word\'
b = a.replace(\'word\',\'python\')
print b
import re
a = \'hello word\'
strinfo = re.compile(\'word\')
b = strinfo.sub(\'python\',a)
print b
cmp方法比较两个对象,并根据结果返回一个整数。
cmp(x,y)如果X< Y,返回值是负数。如果X>Y 返回的值为正数。
sStr1 = \'strch\'
sStr2 = \'strchr\'
print cmp(sStr1,sStr2)##-1
我们通过操作符号+来进行字符串的相加,不过建议还是用其他的方式来进行字符串的拼接,这样效率高点。
原因:在循环连接字符串的时候,每次连接一次,就要重新开辟空间,然后把字符串连接起来,再放入新的空间,再一次循环,又要开辟新的空间,把字符串连接起来放入新的空间,如此反复,内存操作比较频繁,每次都要计算内存空间,然后开辟内存空间,再释放内存空间,效率非常低。
python 字符串查找有4个方法,
info = \'abca\'
print info.find(\'a\')##从下标0开始,查找在字符串里第一个出现的子串,返回结果:0
info = \'abca\'
print info.find(\'a\',1)##从下标1开始,查找在字符串里第一个出现的子串:返回结果3
info = \'abca\'
print info.find(\'333\')##返回-1,查找不到返回-1
python 的index方法是在字符串里查找子串第一次出现的位置,类似字符串的find方法,不过比find方法更好的是,如果查找不到子串,会抛出异常,而不是返回-1
info = \'abca\'
print info.index(\'a\')
print info.index(\'33\')
字符串分割,可以用split,rsplit方法,通过相应的规则来切割成生成列表对象
info=\'name:haha,age:20$name:python,age:30$name:fef,age:55\'
content = info.split(\'\')
print content
通过步进反转[::-1]
a = \'abcd\'
b = a[::-1]##[::-1]通过步进反转print b
通过字符串的decode和encode方法
通过字符串的占位符来进行字符串的拼接
m = \'python\'
astr = \'i love %s\' % m
print astr
m = \'python\'
astr = \"i love {python}\".format(python=m)
print astr
m = \'python\'
astr = \"i love %(python)s \" % {\'python\':m}
print astr
通过变量来进行赋值
fstr = \'strcpy\'
sstr = fstr
fstr = \'strcpy2\'
print sstr
通过内置方法len()来计算字符串的长度,注意这个计算的是字符的长度。
aa = \'afebb\'
bb = \'你\'
print len(aa)
print len(bb)
通过下面的upper(),lower()等方法来转换大小写
S.upper()#S中的字母大写
S.lower() #S中的字母小写
通过strip(),lstrip(),rstrip()方法去除字符串的空格
S.strip()去掉字符串的左右空格
S.lstrip()去掉字符串的左边空格
S.rstrip()去掉字符串的右边空格