python str常用方法简介

#!/user/bin/env pthon
# -*- coding: UTF-8 -*-

# Created by: PyCharm.
# Author:     qinjie
# Date:       2017/12/12
# Time:       14:13

'''
字符串处理通用方法
'''

# 1、由于字符是常量,所以如果使用切片、replace等方法时,都会产生新的字符串对象。所以若果需要多次修改时,可以如下操作

s1 = 'ab123ab123abab'
s2 = s1 + "ab"  # 此方法为连接字符串的一种
print(s2)
s3 = s1[:] + "ab"  # 此方法同样为拷贝字符串的一种方法
print(s3)
s4 = s1.replace('ab', 'cd', 2)  # 使用cd替换ab并替换头两处,实际上做了两次处理,生成了两个新的字符串
print(s4)

l = list(s1)  # 先 生成一个可变的列表对象
index = 0
while index < len(s1):
    if l[index] == 'a':
        l[index] = 'c'
    if l[index] == 'b':
        l[index] = 'd'
    index += 1
s5 = "".join(l)  # 组合字符对象  资源相对使用较少
print(s5)

# 2、字符串的分割
ss1 = "aa bb cc"
ss2 = "aa,bb,cc"
# 分割字符串
sss1 = ss1.split()
sss2 = ss2.split(',')
print(sss1)
print(sss2)

# 3、格式化字符串
m1 = "%s" % 'h'
m2 = "%s %s" % ('h', 'w')
m3 = "{0} {1}".format('h', 'w')
m4 = "{first} {second}".format(first='h', second='w')

import sys

m5 = 'My {conflg[spam]} runs {sys.platform}'.format(sys=sys, conflg={'spam': 'laptop'})
print('m5 = ', m5)  # m5 =  My laptop runs darwin
m6 = 'My{1[spam]} runs {0.platform}'.format(sys, {'spam': 'laptop'})
print('m6 = ', m6)  # m6 =  My laptop runs darwin

# ^、<、>分别是居中、左对齐、右对齐,后面带宽度
# :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
f1 = '{0:>10} = 12345'.format('12345')  # 10个字符位置 右对齐
print(f1)
f2 = '{0:0^10} = 12345'.format('12345')  # 10个字符位置 居中 并对空余的字符数进行补零处理
print(f2)
f3 = '{0:0<10} = 12345'.format('12345')  # 10个字符位置 左对齐 并对空余的字符数进行补零处理
print(f3)

# 主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。
ff1 = '{:b}'.format(20)
print('二进制格式化输出', ff1)  # 二进制格式化输出 10100
ff2 = '{:d}'.format(20)
print('十进制格式化输出', ff2)  # 十进制格式化输出 20
ff3 = '{:o}'.format(20)
print('八进制格式化输出', ff3)  # 八进制格式化输出 24
ff4 = '{:x}'.format(20)
print('十六进制格式化输出', ff4)  # 十六进制格式化输出 14

# 格式化金额
print('{:,}'.format(1000000000))
# **用法
data = dict(platform=sys.platform, user='qinjie')  #先生成一个字典
print('{user} is using {platform}'.format(**data)) #通过key value的形式进行字符串的格式化输出


print("2332".find('332'))

你可能感兴趣的:(python str常用方法简介)