python string
string比较连接
>>> s1="python string" >>> len(s) 13 >>> s2=" python string2 " >>> s=s1+s2 >>> s 'python string python string2 ' >>> >>> cmp(s1,s2) 1
string 截取
>>> s1[0] 'p' >>> s1[-1] 'g' >>> s1[0:5] 'pytho' >>> s1[1:] 'ython string' >>> s1[::-1] 'gnirts nohtyp' >>> s1 'python string' >>> s1[2:-1] 'thon strin' >>> s1[:8:-1] 'gnir' >>> s1[::2] 'pto tig' >>> s1[::-2] 'git otp' >>> s1[5::-2] 'nhy' >>> s1[:5:-2] 'git '
string搜索和替换
>>> s3="onnoonssss" >>> s3.count("s") 4 >>> s3.count("ss") 2 >>> s3.count("on") 2 >>> s3.count("no") 1 >>> s4="sssnnnsss" >>> s4.index("s") 0 #rindex 从右边算起的第一次出现的也就是index的逆序 >>> s4.rindex("s") 8 >>> s4.index("s",4) 6 >>> s4.index("n") 3 >>> s4.index("n",4) 4 #如果搜索的字符没有,则报错 >>> s4.index("g") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found >>> s4.find("s") 0 >>> s4.find("s",5) 6 #如果搜索的字符没有则-1 >>> s4.find("g",5) -1 >>> s4.replace("s","g") 'gggnnnggg' >>> s4.replace("ss","g") 'gsnnngs' #S.replace(oldstr, newstr, [count]) 把S中的oldstr替换为newstr,count为替换次数 >>> s4.replace("s","g",1) 'gssnnnsss' >>> s4.replace("s","g",2) 'ggsnnnsss' >>> s2 ' python string2 ' >>> s2.strip() 'python string2' >>> s2.lstrip() 'python string2 ' >>> s2.rstrip() ' python string2' >>> s="* python * * string *" >>> s.strip("*") ' python * * string ' >>> s.lstrip("*") ' python * * string *'
string分割组合
#S.split([sep, [maxsplit]]) #以sep为分隔符,把S分成一个list。maxsplit表#示分割的次数。默认的分割符为空白字符 >>> s2 ' python string2 ' >>> s2.split(" ") ['', '', 'python', 'string2', ''] >>> s2.split(" ",1) ['', ' python string2 '] >>> s2.rsplit(" ",1) [' python string2', ''] #S.splitlines([keepends]) #把S按照行分割符分为一个list,keepends是#一个bool值,如果为真每行后而会保留行分割符。 >>> s5=""" ... first line ... second line ... """ >>> s5.splitlines() ['', 'first line', 'second line'] #str.join(sequence) sequence -- 要连接的元素序列 返回通过指定字符 #连接序列中元素后生成的新字符串。 >>> "-".join(s1) 'p-y-t-h-o-n- -s-t-r-i-n-g'
string测试
>>> s 'python string python string2 ' >>> s1.isupper() False >>> s1.islower() True #是否全是空白字符,并至少有一个字符 >>> s1.isspace() False #是否全是数字,并至少有一个字符 >>> s.isdigit() False #是否全是字母,并至少有一个字符 >>> s.isalpha() False #是否全是字母和数字,并至少有一个字符 >>> s.isalnum() False #是否是首字母大写的 >>> s.istitle() False #str.startswith(str, beg=0,end=len(string)); >>> s ' Python string !! ' >>> s.startswith(" P") True >>> s.endswith(" ") True >>> s.startswith("P",2) True >>> s.startswith("P",3) False >>>
string输出对齐
#输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格 >>> s.ljust(50,"s") ' Python string !! sssssssssssssssssssssssssssss' #右对齐 >>> s.rjust(50,"s") 'sssssssssssssssssssssssssssss Python string !! ' #中间对齐 >>> s.center(50,"c") 'cccccccccccccc Python string !! ccccccccccccccc' #把S变成width长,并在右对齐,不足部分用0补足 >>> s.zfill(50) '00000000000000000000000000000 Python string !! '
string大小写
>>> s1.lower() 'python string' >>> s1.upper() 'PYTHON STRING' #大小写互换 >>> s1.swapcase() 'PYTHON STRING' >>> s1.capitalize() 'Python string' >>> s1.title() 'Python String'