python字符串

字符串格式化

字符串格式化使用字符串格式化操作符%来实现:格式化字符串 % 值(字符串或者数字或者多个值的元组,字典)

format = "hello, %s. %s are a good gril"
values = ('zyj' ,'you')
print(format % values)

若字符串中包含%,则需要%%进行处理

format1 = 'percent:%.2f%%'
values = 10.123
print(format1 % values)

  

可选参数:
参数1:转换标志:- 表示左对齐,默认为右对齐; + 表示在转换之前加上正负号; ''空白字符表示正数之前保留空格;0表示转换值若位数不够用0填充
参数2:最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从元组中提取
参数3:.后跟精度值:若为实数,精度值表示出现在小数点后的位数,若为字符串,那么该数字表示最大字段宽度。若是*精度将从元组中读出

print('%x' % 16)
print('%o' % 8)
print('%s' % 'hello')
print('%r' % '42L')
from math import pi
print('%10f' % pi) 
print('%10.2f' % pi) 
print('%.2f' % pi)

print('%10.5s' % 'hello,world')

format = '%*.*s'
values = 'hello,world'
print(format % (10,5,values))

print('%010.2f' % pi)
print('%-10.2f' % pi)

print(('% 5d' % 10) + '\n' +('% 5d' % -10))
print(('%+5d' % 10) + '\n' +('%+5d' % -10))

举例:在屏幕上打印九九乘法表:

print("九九乘法表:")
for x in range(1, 10):
    for y in range(1, x + 1):
        format1 = "%2d%s%-d%s%2d"
        tuple1 = (x, ' * ', y, ' = ', x * y)
        print(format1 % tuple1, end='')
        print(" " * 4, end='')
    print("\n")

字符串方法

find :在较长的字符串中查找子串。返回子串所在位置的最左端索引。如果没有找到返回-1
此方法可以接收可选的起始点和结束点参数;注意:包含第一个索引,但不包含第二个索引

subject = "hello,world"
print(subject.find('world',2))

join:用来连接序列中的元素,需要被连接的序列元素都必须是字符串。

dirs ='','usr','bin','env'
print('/'.join(dirs))
print('\\'.join(dirs))

ipAddr = ['12','1','1','1']
netMask = ['255','255','255','0']
print('.'.join(ipAddr)+' '+'.'.join(netMask))

split:将字符串分割成序列,方法中可以不提供分隔符。程序会把所有的空格作为分隔符

print("I love you".split())
print(list("I love you"))
print(tuple("I love you"))
print('1+2-3+5'.split('+'))

lower:返回字符串的小写字母,在‘不区分大小写’的时候,进行存储和查找。

string1 = 'HELLO,WORLD'
print(string1.lower())
print('hello' in string1.lower())

title:字符串中的所有字母的首字母大写。

title1 = 'jave script'
print(title1.title())

string模块的capwords函数

import string
print(string.capwords("jave script"))

replace:返回某字符串的所有匹配项均被替换之后得到的字符串

string2 = 'this is a test'
print(string2.title().replace('is','at'))
print(string2)

strip:返回去除字符串两侧空格,可以增加参数以去掉特定的字符

string3 = ' show memory -more- '
print(string3.strip())

psws = ['a','b']
psw = 'a '
print(psw in psws)
print(psw.strip() in psws)

string4 ='####!!!!*****happy birthday to you*****####!!!!'
print(string4.title().strip('#!'))
print(string4.title().rstrip('!#'))
print(string4.title().lstrip('!#'))

string5 ='####!!!!###!!!####!!!!'
print(string5.strip('#!'))

translate:替换字符串中的某些部分,只能处理单个字符;如替换因平台而异的特殊字符。

 

你可能感兴趣的:(python字符串)