字符串在Python中是常用的功能,我们知道,字符串在Python中存储的形式是以字符数组的形式存在,比如"alex"在内存中的存储形式是:["a","l","e","x"],因为我们发现字符串的功能很多与列表的功能相似,比如切片s[:],索引s[index]等常用的方法,我们要知道,既然是字符串的方法,那就有字符串独有之处,字符串可以分割,可以合并,有长度,能够查找替换,还可以设置字符串长度格式,最主要的是跟文件的操作一起使用,我们在基础里面经常操作文件这种实物,文件里面存储的都是字符串,那就要用到字符串的方法,下面来看看字符串常用的功能。

    1.split(self,sep)

字符串的拆分功能,我们经常会拆分文件中的内容,比如文件中存储用户的用户名和密码,以冒号表示,name:pwd,那么我们想得到用户名和密码,就可以使用字符串的拆分功能,下面我们来看看具体的实例:

    >>> name = "alexissb"
  >>> name.split("is")
  ['alex', 'sb']
  >>> user = "alex:is:sb"
  >>> user.split(":")
  ['alex', 'is', 'sb']

    >>> name.split("D")

  ['alexissb']

从实例中可以看出,字符串的拆分是以某个标识为拆分点,拆成前后部分。有多少个这样的标识符就能拆分成n+1部分。拆分形成的是数组,把拆分的内容放在一个数组中,并且,如果没有这个拆分符的话,那么就只形成一个字符元素的字符数组。

    2.splitlines(self)

splitlines()是以换行符的形式进行拆分的,在文件读取的时候有用,比如我们想读取文件的每一行,然后找到文件的位置,删除这个位置的话就可以使用。

下面来看一个简单的实例:

>>> message = """
  ... alex
  ... is
  ... sb
  ... """
  >>> message
  '\nalex\nis\nsb\n'
  >>> message.splitlines()
  ['', 'alex', 'is', 'sb']
  >>> message.split("\n")
  ['', 'alex', 'is', 'sb', '']
    从上面程序可以看出,splitlines()是按行的形式进行拆分的,但是split()和splitlines()还是有一些区别的。比如split()如果末尾有空行,是会显示内容的,显示为空;但是splitlines()却屏蔽没有内容的行。(备注:字符串末尾没有信息的内容)

    3.partition(self,sep)

partition(self,sep)拆分成三部分(head,sep,tail)想成的是一个元组,以分割标识符为单位进行拆分,拆分成前,中,后三部分。在python中有三种拆分的方法,split()、splitlines()。来进行查分。

实例如下:

>>> name = 'alexissb'
    >>> name.partition("is")
    ('alex', 'is', 'sb')
    拆分在字符串中非常常用,是很常用的方法,在文件操作中使用,我们可以看出上述三种不同拆分方法的区别以及共同之处。要根据需求来使用。

    4.isdigit() isnumeric() isdecimal()

判断数字形式的字符串在用户输入的时候很常用,我们知道,如果用户输入的是一个不是数字形式的字符,我们使用int()函数,那么就会报错,我们知道,input()函数默认用户输入的都是字符格式,因为当我们需要使用数字的时候,我们需要用int()函数来进行转换,转换的时候我们就需要用到isdigit()类判断的函数,对用户输入的格式进行判断。下面来看一个实例:

    >>> num = input("Please input your luncy num:")
  Please input your luncy num:6
  >>> num1 = input("Please input your lucky num:")
  Please input your lucky num:d12
  >>> num.isdigit()
  True
  >>> num1.isdigit()
  False
  >>> int(num)
  6
  >>> int(num1)
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  ValueError: invalid literal for int() with base 10: 'd12'
    从上面代码可以看出,在我们需要用户输入数字的时候要使用if函数进行判断,不然就会报错。

    5.join()

join()顾名思义是用来字符串链接的,我们知道,字符串是列表形式存储的,因为我们在链接的时候可以与列表进行列表,而且可以指定链接的格式。

>>> l1 = ["11","22","33"]
  >>> ":".join(l1)
  '11:22:33'
  >>> name = "alex"
  >>> name.join(l1)
  '11alex22alex33'

>>> name.join("sb")
  'salexb'
  >>> "".join(l1)
  '112233'

从上面代码可以看出,字符串可以与列表链接,列表中的每一个元素都与字符串进行链接,为此我们在遍历文件的时候,可以使用split()进行拆分,然后使用join()进行链接,这样也是可以的,我们可以使用"",让列表中的每个元素与空进行链接。

还有很多方法,就不一一介绍了,因为哪些方法都是差不多的。要我们经常使用。不然很容易忘记,上述方法是我们常用的。

day2 字符串常用方法总结的更多相关文章

  1. day2 -- 字符串常用方法、列表、字典

    1.字符串常用方法 name = "Convict abc" count(): print(name.count("c")) # 2 find(): print ...

  2. Day2:字符串常用方法

    字符串常用方法 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan name = "my \tname is ...

  3. python_way ,day2 字符串,列表,字典,时间模块

    python_way ,day2 字符串,列表,字典,自学时间模块 1.input: 2.0 3.0 区别 2.0中 如果要要用户交互输入字符串: name=raw_input() 如果 name=i ...

  4. OC中的字符串常用方法

    OC中的字符串常用方法 OC中对字符串进行操作使用了Foundation框架中的NSString类(不可变).NSMutableString类(可变). NSString 1.创建字符串 [objc] ...

  5. python 字符串常用方法

    字符串常用方法 capitalize() String.capitalize() 将字符串首字母变为大写 name = 'xiaoming' new_name = name.capitalize() ...

  6. python基础3 字符串常用方法

    一. 基础数据类型 总览 int:用于计算,计数,运算等. 1,2,3,100...... str:'这些内容[]'    用户少量数据的存储,便于操作. bool: True, False,两种状态 ...

  7. Python基础二_操作字符串常用方法、字典、文件读取

    一.字符串常用方法: name.captitalize()                       #字符串首字母大写 name.center(50,'*')                   ...

  8. python_字符串常用方法

    1.切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚). a = 'ABCDEFGHIJK' print(a[0:3]) # print(a[:3]) 从开头开 ...

  9. 2018.03.26 Python-Pandas 字符串常用方法

    import numpy as np import pandas as pd 1 #字符串常用方法 - strip s = pd.Series([' jack ','jill',' jease ',' ...

随机推荐

  1. 用dom4j修改xml(增加修改节点)

    用dom4j修改xml(增加修改节点) 博客分类: Java XMLJavaMyeclipseServlet  使用dom4j修改解析xml,xml文件的位置是配置在xml.properties文件中 ...

  2. poj1850 Code

    Code Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 10059   Accepted: 4816 Description ...

  3. poj 1743 后缀数组 最长不重叠子串

    Musical Theme Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 30941   Accepted: 10336 D ...

  4. UVA - 1262 数学

    UVA - 1262 题意: 有两个6*5 的大写字母组成的矩阵,需要找出满足条件的字典序第k小的密码:密码中每个字母在两个矩阵的对应的同一列中都出现过 代码: // 先处理出来每一列可以取的字母,例 ...

  5. URL参数带加号“+”AJAX传值失败的解决方法

    URL中参数的值有加号,虽然请求的URL中含有加号,但是GET的时候却得不到加号! 解决办法,用JavaScript的encodeURIComponent函数对加号进行编码. 如str="a ...

  6. ArrayList和Array区别

    1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array([]):最高效:但是其容量固定且无法动态改变:     ArrayList:  容量可动态增长:但牺 ...

  7. Debian最完美安装flash的教程//适用于所有linux版本

    话说不管是新手还是老手,都离不开flash.没有flash的支持,菜鸟们也少了一些把玩linux的动力. flash有很多安装的方法,不过性能相差很大.这里的缘由就不重要了. 下面我介绍在chromi ...

  8. 2017 国庆湖南 Day3

    期望得分:100+30+60=190 实际得分:10+0+55=65 到了233 2是奇数位 或223 第2个2是偶数位就会223 .233 循环 #include<cstdio> #de ...

  9. 动态规划:LIS优化

    对于1D/1D动态规划来说,理论时间复杂度都是O(n^2)的,这种动态规划一般都可以进行优化,贴一篇文章 https://wenku.baidu.com/view/e317b1020740be1e65 ...

  10. HDU 1573 CRT

    CRT模板题 /** @Date : 2017-09-15 13:52:21 * @FileName: HDU 1573 CRT EXGCD.cpp * @Platform: Windows * @A ...