|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 高渐飞 于 2018-7-16 15:25 编辑
常用字符串操作
- center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串
- count(sub[, start[, end]]) 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。
- encode(encoding='utf-8', errors='strict') 以 encoding 指定的编码格式对字符串进行编码。
- endswith(sub[, start[, end]]) 检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。
- expandtabs([tabsize=8]) 把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。
- find(sub[, start[, end]]) 检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。
- rfind(sub[, start[, end]]) 类似于 find() 方法,不过是从右边开始查找。
- index(sub[, start[, end]]) 跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。
- rindex(sub[, start[, end]]) 类似于 index() 方法,不过是从右边开始。
- replace(old, new[, count]) 把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。
- split(sep=None, maxsplit=-1) 默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。
- splitlines(([keepends])) 结果里是否去掉换行符,默认为 False,不包含换行符;如果为 True,则保留换行符。。
- startswith(prefix[, start[, end]]) 字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。
- title() 返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。
- translate(table) 根据table 的规则(可以由 str.maketrans('a', 'b') 定制)转换字符串中的字符。
以上来源于 [扩展阅读] 字符串的方法及注释 ttp://bbs.fishc.org/forum.php?mod=viewthread&tid=38992&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
- str1="hello,daniel"
- print(str1[:6])
- print(str1[3]) #对元素进行索引时必须为中括号[]
- #元素的修改
- str2=str1[:5]+",insert"+str1[5:] #直接使用引号插入即可
- print(str2) #在元组中插入元素时,还需小括号和逗号,三者缺一不可
- #字符串格式化符号
- """
- %c 格式化字符及其ASCII码
- %s 格式化字符串
- %d 格式化整数
- %o 格式化无符号八进制数
- %x 格式化无符号十六进制数
- %X 格式化无符号十六进制数(大写)
- %f 格式化浮点数字,可指定小数点后的精度
- %e 用科学计数法格式化浮点数
- %E 作用同%e,用科学计数法格式化浮点数
- %g 根据值的大小决定使用%f或%e
- %G 作用同 %g,根据值的大小决定使用%f或%E
- """
- a1='%c' % 97 # 格式化字符及其ASCII码
- a2='%c %c %c' % (97, 98, 99) #元组的形式
- a3='%d + %d = %d' % (4, 5, 4+5) # %s为格式化字符串;%d为格式化整数
- a4='%f' % 27.658 #默认精确到小数点后六位,用0补充
- print(a1,a2,a3,a4,"\n")
- #格式化操作符辅助命令
- #在m.n中,m是总长度,n是小数点后的位数
- b1= '%5.1f'% 27.658 #以总长度为5,小数一位格式化输出,不足时左侧空格补位
- b2= '%.2e' % 27.658
- b3= '%-5d'% 5 #输出左对齐的整数,总长度为5; 默认右对齐
- b4= '%+5d'% 5 #输出时,在正数前面显示加号(+)
- b5= '%+5d'% -5
- b6= '%#o'% 111 #符号#可以在八进制数前面显示'0o',在十六进制数前面显示'0x'或'0X'
- b7= '%#x'% 111
- b8= '%010d'% 5 #符号0可以使0来替代前面的空格
- print(b1,b2,b3,"\n",b4,b5,b6,b7,b8,"\n")
- #format()
- #格式化字符串即 按照统一的规格输出成一个字符串
- str2='{} {}'.format('hello', 'world') #不设置指定位置,按默认顺序
- str3="{0} loves {1}".format("Daniel","Python1") #位置参数,以中括号为轮廓
- str4="{a} loves {b}".format(a="Daniel",b="Python2") #关键字参数
- str5="{0} loves {b}".format("Daniel",b="Python3") #位置和关键字参数一起使用时,位置在前,否则error
- print(str2,"\n",str3,"\n",str4,"\n",str5,"\n")
- str6="{{0}}".format("Daniel") #两个反斜杠相互抵消,0未被daniel替换
- str7="{0:.1f}{1}".format(27.899," GB") #使用.1f控制定点数格式,保留一位小数,四舍五入
- str8="{0:.2e}{1}".format(27.899," GB") #指数形式,小数保留两位
- print(str6,"\n",str7,"\n",str8,"\n") #其中:表示格式化符号的开始
- a='{:10d}'.format(12) #默认右对齐(宽度为10)
- b='{:<10d}'.format(12) #以<左对齐(宽度为10)
- c='{:^10d}'.format(12) #以^中间对齐(宽度为10)
- print("a:",a,"b:",b,"c:",c)
- d="{:0>5d}".format(5) #左边补零,总长度为5
- e='{:x<5d}'.format(5) #右边补x,总长度为5
- f='{:x>5d}'.format(10) #左边补x,总长度为5
- print("d:",d,"e:",e,"f:",f)
- g='{:,}'.format(1000000) #以逗号分隔,三位一分
- h='{:.3%}'.format(0.25) #百分比形式,小数点后三位(默认6位)
- i='{:.3e}'.format(1000000000) #指数形式,小数点后3位(默认6位)
- print("g:",g,"h:",h,"i:",i,"\n")
- a='{:b}'.format(11) #二进制
- b='{:d}'.format(11) #十进制
- print("11的2进制:",a, "11的10进制:",b)
- c='{:o}'.format(11) #八进制
- d='{:x}'.format(11) #十六进制
- print("11的8进制:",c,"11的16进制:",d)
- e='{:#x}'.format(110) #在前面加0x,且所有字符小写
- f='{:#X}'.format(110) #在前面加0X,且所有字符大写
- print("11的2进制:",e,"11的2进制:",f,"\n")
复制代码 |
|