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. 成功安装SQL Server实例后 无法找到SQL Server Configuration Manager工具的解决方案

    有一次成功安装SQL Server实例后 ,但是在所有程序中无法找到SQL Server Configuration Manager工具,以下步骤是我们当时的解决方案.最后成功将这个工具的转移到了桌面 ...

  2. itest(爱测试) 4.2.1 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票  去投票 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者 ...

  3. JVM-6-垃圾回收算法

    三如何垃圾回收   GC(Garbage Collection)垃圾回收算法 标记清除    速度快,但是会产生内存碎片: 标记整理    解决了标记清除内存碎片的问题,但是每次都得移动对象,因此成本 ...

  4. JetBrains IntelliJ IDEA 2019 for Mac(Java集成开发环境) 2019.3.1

    IntelliJ IDEA 2019中文激活版已全新上线,intellij idea mac是目前编程人员最喜欢的Java集成开发环境,具备智能代码助手.代码自动提示.重构.J2EE支持.Ant.JU ...

  5. The Preliminary Contest for ICPC Asia Shenyang 2019

    传送门 B. Dudu's maze 题意: 是什么鬼东西???我读题可以读半小时QAQ 给出一张无向图,一个人在里面收集糖果,每个点都有一个糖果,特殊点除外.当他第一次进入特殊点时,会随机往一条边走 ...

  6. linux 库文件配置

    linux 库文件配置 /etc/ld.so.conf 或 /etc/ld.so.conf.d/*.conf

  7. Java Web 学习(4) —— Spring MVC 概览

    Spring MVC 概览 一. Spring MVC Spring MVC 是一个包含了 Dispatcher Servlet 的 MVC 框架. Dispatcher Servlet 实现了 : ...

  8. HDU2899Strange fuction(二分/三分)

    传送门 题目大意:求 F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x (0 <= x <=100):的最小值 题解:求个导,二分导函数零点,就是原函数最小值所在的 ...

  9. 【CodeChef】December Challenge 2019 Div1 解题报告

    点此进入比赛 这次比赛本来想好好打的,但不幸的是,这周先是要认真复习准备月考,考完又是发烧在床上躺了一个周末,所以最终没能打完. 我还是好弱啊. \(T1\):Binary XOR(点此看题面) 大致 ...

  10. Codeforces Round #599 (Div. 2) B2. Character Swap (Hard Version) 构造

    B2. Character Swap (Hard Version) This problem is different from the easy version. In this version U ...