2.1.如何拆分含有多种分隔符的字符串

#2.1.如何拆分含有多种分隔符的字符串

s = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz'

#第一种方法
def my__split(s, seps):
res = [s]
for sep in seps:
t = []
list(map(lambda ss: t.extend(ss.split(sep)), res))
res = t
return res s1 = my__split(s, ',;|\t')
print(s1) #['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz'] #第二种方式:使用re.split (推荐)
import re s2 = re.split('[,;|\t]+', s)
print(s2) #['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz']

2.2.如何调整字符串中文本的格式

#2.2.如何调整字符串中文本的格式

import re

#调整时间显示的格式
s = "2019-08-15 23:23:12" s1 = re.sub(r'(\d{4})-(\d{2})-(\d{2})',r'\2/\3/\1',s) print(s1) # 08/15/2019 23:23:12

2.3如何将多个小字符串拼接成一个大的字符串

# 2.3如何将多个小字符串拼接成一个大的字符串..

l = ["<11>","<22>","<33>","<44>","<55>","<66>","<77>"]

#第一种方法,空间和时间都比较浪费
s = ''
for x in l:
s += x
print(s) #<11><22><33><44><55><66><77> #第二种方法
s2 = ''.join(l)
print(s2) #<11><22><33><44><55><66><77>

2.4如何对字符串进行左, 右, 居中对齐

In [17]: s = 'abc'

In [18]: s.ljust(10)
Out[18]: 'abc ' In [19]: s.ljust(10,'*')
Out[19]: 'abc*******' In [20]: s.rjust(10)
Out[20]: ' abc' In [21]: s.rjust(10,'*')
Out[21]: '*******abc' In [22]: s.center(10)
Out[22]: ' abc ' In [23]: s.center(10,'*')
Out[23]: '***abc****' In [24]:

把字典以左对齐的形式打印出来

#2.4如何对字符串进行左, 右, 居中对齐

d = {
"zhang_derek": "",
'name':'',
'address':'',
'age':''
} w = max(map(len,d.keys())) #计算所有key中字符最长的是多少
print(w) # for k, v in d.items():
print(k.ljust(w), ":", v)

结果

2.5如何去掉字符串中不需要的字符

(1)用strip()函数,只能取出两端的,中间的许可以去掉

In [30]: s = '  zhang_derek  '

In [31]: s.strip()
Out[31]: 'zhang_derek' In [32]: s.lstrip()
Out[32]: 'zhang_derek ' In [33]: s.rstrip()
Out[33]: ' zhang_derek' In [34]:

加参数

In [43]: s1 = ' -=+zhang_derek-=-+  '

In [44]: s1.strip()
Out[44]: '-=+zhang_derek-=-+' In [45]: s1.strip('-=+ ')
Out[45]: 'zhang_derek' In [46]:

(2)删除固定位置,用切片,去掉下面的冒号

In [46]: s2 = 'abc:123'

In [47]: s2[:3] + s2[4:]
Out[47]: 'abc123' In [48]:

(3)replace

In [48]: s3 = '  abc  123  '

In [49]: s3.strip()
Out[49]: 'abc 123' In [50]: s3.replace(' ','')
Out[50]: 'abc123' In [51]:

(4)正则表达式re.sub()

In [57]: s4 = '  \t  abc  \t  123  \n  '

In [58]: import re

In [59]: re.sub('[ \t\n]+', '', s4)
Out[59]: 'abc123' In [60]:

7.python3实用编程技巧进阶(二)的更多相关文章

  1. Python3实用编程技巧进阶 ☝☝☝

    Python3实用编程技巧进阶  ☝☝☝ 1.1.如何在列表中根据条件筛选数据 # 1.1.如何在列表中根据条件筛选数据 data = [-1, 2, 3, -4, 5] #筛选出data列表中大于等 ...

  2. Python3实用编程技巧进阶

    Python3实用编程技巧进阶  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以 ...

  3. Python3实用编程技巧进阶✍✍✍

    Python3实用编程技巧进阶  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以 ...

  4. 6.python3实用编程技巧进阶(一)

    1.1.如何在列表中根据条件筛选数据 # 1.1.如何在列表中根据条件筛选数据 data = [-1, 2, 3, -4, 5] #筛选出data列表中大于等于零的数据 #第一种方法,不推荐 res1 ...

  5. 8.python3实用编程技巧进阶(三)

    3.1.如何实现可迭代对象和迭代器对象 #3.1 如何实现可迭代对象和迭代器对象 import requests from collections.abc import Iterable,Iterat ...

  6. 9.python3实用编程技巧进阶(四)

    4.1.如何读写csv数据 爬取豆瓣top250书籍 import requests import json import csv from bs4 import BeautifulSoup book ...

  7. 10.python3实用编程技巧进阶(五)

    5.1.如何派生内置不可变类型并修其改实例化行为 修改实例化行为 # 5.1.如何派生内置不可变类型并修其改实例化行为 #继承内置tuple, 并实现__new__,在其中修改实例化行为 class ...

  8. EF – 2.EF数据查询基础(上)查询数据的实用编程技巧

    目录 5.4.1 查询符合条件的单条记录 EF使用SingleOrDefault()和Find()两个方法查询符合条件的单条记录. 5.4.2 Entity Framework中的内部数据缓存 DbS ...

  9. EF – 2.EF数据查询基础(上)查询数据的实用编程技巧

    目录 5.4.1 查询符合条件的单条记录 EF使用SingleOrDefault()和Find()两个方法查询符合条件的单条记录. 5.4.2 Entity Framework中的内部数据缓存 DbS ...

随机推荐

  1. CSS学习笔记-边框图片等属性

      1.边框图片:        1.1含义:            告诉浏览器指定一张图片作为边框        1.2格式:             border-image-source:url ...

  2. WebMagic使用代理ip爬数据解决HTTP407问题

    手头一个小活儿是爬竞品网站数据.使用webmagic来实现.光公司ip不行,被封了就会影响业务正常访问.刚好公司另一个项目购买了代理IP资源“站大爷”,那个项目夭折了,于是申请借来用用. 调通站大爷提 ...

  3. nginx——keepalived

    nginx--keepalived 1.keepalived高可用基本概述 什么是高可用 一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用 ...

  4. android 获得一些设备信息的静态函数

    1.Brand,IMEI,DeviceOS,DeviceFactoryTime public static String getDeviceBrand(Context context) { Strin ...

  5. React 修改获取state中的值

    14===> 修改state中的值 不能够直接修改 state = { num: 10 } 如 this.state.num+=12; 不能够直接修改 错误 通过 this.setState({ ...

  6. 04. Go 语言流程控制

    Go 语言流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go 语言的常用流程控制有 if 和 for,而 switch 和 ...

  7. 移位寄存器及verilog代码

    通用移位寄存器 作用:后续补全 )( :] Data_out, output MSB_out, LSB_out, :] Data_in, input MSB_in, LSB_in, input s0, ...

  8. 注意设置httpclient连接数

    在使用Httpclient的过程中,当访问量增大的时候,会发现本地的连接等待时间急剧增加,例如从400ms增加到 78000ms,之前一直以为是航信系统问题,后面经过检查才发现,原来是本地httpcl ...

  9. C语言中,嵌套的if语句的一些经验...

    double f(double x){double result;if(x<0)result=-x+sin(x);else if(x==0)result=0;     else if(10> ...

  10. Spring Cloud 教程

    Spring Cloud系列教程: Spring Boot + Spring Cloud 构建微服务系统(一):服务注册和发现(Consul) Spring Boot + Spring Cloud 构 ...