1.split分割

基于re模块和正则表达式对象的方法split(),以后再做学习

基于字符串的split()方法 :字符串对象的split()方法也只能处理非常简单的情况,而且不支持多个分隔符,对分隔符周围可能存在的空格也无能为力.当需要一些更为灵活的功能是,应该使用re.split()方法.

函数原型:str.split(s,num)[n]

s:表示指定的分隔符,不写的话,默认是空格(’ ‘)。如果字符串中没有给定的分隔符时,则把整个字符串作为列表的一个元素返回。

num:表示分割次数。如果指定了参数num,就会将字符串分割成num+1个子字符串,并且每一个子字符串可以赋给新的变量。

[n]:表示选取第n个分片,n表示返回的list中元素下标,从0开始的。

split()当不带参数时以空格进行分割,不管空格在哪,或者有几个.带参数时,以该参数进行分割。

2.strip()方法用来从字符串的开始和结尾处去掉字符

lstrip()从左侧开始去除字符,默认去除空格符,也可指定其他字符.

rstrip()从右侧开始去除字符,默认去除空格符,也可指定其他字符.

>>>t = '----hello===='

>>>t.lstrip('-')

'hello====='

>>>t.strip('-=')

'hello'

*注意:去除字符的操作不会对位于字符串中间的任何文本起作用

>>>'s = hello  world  \n'

>>>s = s,strip()

>>>s

'hello  world'

如果要对里面的空格执行某些操作,应该使用其他技巧.比如replace()方法或者正则表达式转换.

>>>s.replace('  ','')

'helloworld'

>>>import re

>>>re.sub('\s+',' ',s)

'hello world'

通常会遇到的情况是将去除字符的操作同某些迭代操作结合起来,比如从文件中读取文本行.如果是这样的话,那就到了生成器表达式大显身手的时候了:

with open(filename) as f:

  lines = (line.strip() for line in f)

  for line in lines:

这里表达式lines = (line.strip() for line in f)的作用是完成数据的转换.即把原始数据中每一行开头和结尾处的空格符去掉.

3.分解文件名的扩展名 

a,b = os.path.splitext(fname)

a =

b =

扩展名是通过os.path.splitext函数提取出来的,

  1. root, extension = os.path.splitext(fname)

这样,fname中的扩展名部分即.py被赋给变量extension,而其余部分则赋给了变量root。如果想得到不带点号的扩展名的话,只需使用os.path.splitext(fname)[1][1:]即可。
假设一个文件名为f,其扩展名随意,若想将其扩展名改为ext,可以使用下面的代码:

  1. newfile = os.path.splitext(f)[0] + ext

下面是一个具体的示例:

    1. >>> f = ’/some/path/case2.data_source’
    2. >>> moviefile = os.path.basename(os.path.splitext(f)[0] + ’.mpg’)
    3. >>> moviefile
    4. ’case2.mpg’

4.splitlines用法

splitlines()方法返回一个字符串的所有行, 默认splitelines参数keepends为False,意思是不保留每行结尾的\n, 而keepends为True时,分割的每 一行里尾部会有\n

      按行分割字符串,返回值为列表

去掉列表的方法:s1 =s.splitlines()[0]

python关于分割与拼接的那些事的更多相关文章

  1. 转 python 之 分割参数getopt

    python 之 分割参数getopt os下有个方法walk,非常的好用,用来生成一个generator.每次可以得到一个三元tupple,其中第一个为起始路径,第二个为起始路径下的文件夹,第三个是 ...

  2. 【转】Python微信好友头像拼接图

    转自:Python微信好友头像拼接图 今天在朋友圈看到有人发了微信好友拼接图,心里满是新奇,看了下评论才知道用Python写的.心里痒痒,立马就安装了下Python. 安装好了之后,看了下大神的代码, ...

  3. python入门6 字符串拼接、格式化输出

    字符串拼接方式    1  使用 + 拼接字符串 2 格式化输出:%s字符串 %d整数 %f浮点数 %%输出% %X-16进制 %r-原始字符串 3 str.format() 代码如下: #codin ...

  4. 列表[‘hello’ , ‘python’ ,’!’ ] 用多种方法拼接,并输出’hello python !’ 以及join()在python中的用法简介

    列表[‘hello’ , ‘python’ ,’!’ ] 用多种方法拼接,并输出’hello python !’ 使用字符串链接的四种方法都可以创建 字符串拼接一共有四种方法,也可以应用到列表的拼接中 ...

  5. 女朋友会 Python 是多么可怕的一件事!

    ​ 阅读文本大概需要 8 分钟. 1 目 标 场 景 女朋友会 Python 是多么可怕的一件事! 一位朋友告诉忽略了一件事,假设女朋友会 Python 的话,那岂不是要翻车?如果是这样的话,女朋友发 ...

  6. java以逗号为分割符拼接字符串的技巧

    java以逗号为分割符拼接字符串的技巧   答: 不用那么多if判断,让人思维混乱,直接到最后使用deleteCharAt方法去除最后一个逗号即可. 实现代码如下所示: StringBuffer sb ...

  7. python之字符串的分割和拼接

    关于string的split 和 join 方法 对导入os模块进行os.path.splie()/os.path.join() 貌似是处理机制不一样,但是功能上一样. 1.string.split( ...

  8. 【Python】numpy 数组拼接、分割

    摘自https://docs.scipy.org 1.The Basics 1.1 numpy 数组基础 NumPy’s array class is called ndarray. ndarray. ...

  9. Python基础__字符串拼接、格式化输出与复制

    上一节介绍了序列的一些基本操作类型,这一节针对字符串的拼接.格式化输出以及复制的等做做详细介绍.一. 字符串的拼接 a = 'I', b = 'love', c = 'Python'. 我们的目的是: ...

随机推荐

  1. 查看 SHA1

    keytool -v -list -keystore C:\Users\tianyingzhong\.android\debug.keystore 输入密钥库口令: android android

  2. ubuntu 下应用 Python 和 SL4A 的 Android 应用程序搭建您自己的android研发环境

    转载自:http://code.qtuba.com/article-50680.html 最近在看<head first python>,书中有讲python在android中进行开发的章 ...

  3. 机器学习——支持向量机(SVM)之拉格朗日乘子法,KKT条件以及简化版SMO算法分析

    SVM有很多实现,现在只关注其中最流行的一种实现,即序列最小优化(Sequential Minimal Optimization,SMO)算法,然后介绍如何使用一种核函数(kernel)的方式将SVM ...

  4. CentOS 7.1编译安装PHP7

    原文: https://typecodes.com/web/centos7compilephp7.html?utm_source=tuicool&utm_medium=referral 1 创 ...

  5. APEX初步

    APEX是SFDC中用于开发的语言.语法上类似JAVA等面向对象的语言,运行起来类似数据库中的存储过程.可以在SFDC事件中添加业务逻辑,操作相关数据和用在Visual Force页面中. 保存,编译 ...

  6. HBase+Phoenix整合入门--集群搭建

    环境:CentOS 6.6 64位    hbase 1.1.15  phoenix-4.7.0-HBase-1.1 一.前置环境: 已经安装配置好Hadoop 2.6和jdk 1.7 二.安装hba ...

  7. 消除类游戏(js版)

    最近一直在玩一款消灭星星的消除类游戏,周末无聊就用js也写了一遍,感觉玩比写还困难一直玩不到10000分.废话不多说直接上源码. 效果图(ps 页面有点难看木有美工) 代码总共456行,未经过严格测试 ...

  8. CSS 7阶层叠水平

    著名的7阶层叠水平(stacking level) 层叠上下文 background/border 负z-index block块状水平盒子:正常流失布局,非inline-block,无positio ...

  9. 为何img、input等内联元素可以设置宽、高

    元素是文档结构的基础,在CSS中,每个元素生成了一个包含了元素内容的框(box,也译为“盒子”).但是不同的元素显示的方式会有所不同,例如<div>和<span>就不同,而&l ...

  10. JAVA将数字字符串强制转换成整型变量----求参数之和实验代码(附流程图)

    一.设计思想 先将参数个数输出,并利用循环结果将参数逐个输出,再将字符串强制转化成整型,利用循环结构相加求和 二.程序流程图 三.源程序代码 package demo; public class Co ...