day2 字符串常用方法总结

时间:2022-12-30 07:26:25

字符串在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:字符串常用方法

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

  2. python&lowbar;way &comma;day2 字符串,列表,字典,时间模块

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

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

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

  4. python 字符串常用方法

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

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

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

  6. Python基础二&lowbar;操作字符串常用方法、字典、文件读取

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

  7. python&lowbar;字符串常用方法

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

  8. 2018&period;03&period;26 Python-Pandas 字符串常用方法

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

  9. 【python基础语法】字符串常用方法 、列表(第3天课堂笔记)

    """ 字符串的方法 join 字符串拼接,将列表转换为字符串 find 查找元素位置 count 查找元素个数 replace 替换字符 split 字符串分割,将字符 ...

随机推荐

  1. 【推荐】iOS集合视图的可重新排序的layout

    在实际项目中你或许会遇到在一个集合视图中移动一项到另外一个位置,那么此时我们需要对视图中的元素进行重新排序,今天推荐一个很好用的第三方类LXReorderableCollectionViewFlowL ...

  2. 查单神器v1&period;0 升级 &srarr;B站看鬼畜神器v1&period;0

    去年学校实习,我去了一家快递输单公司工作.工作任务就是把运单图片上的内容(寄件人,地址之类)输入到公司的数据库里.每天输单结束后,还要对一些容易错的运单进行排查.单量多的时候一天甚至要查千张以上的运单 ...

  3. chrome浏览器当表单自动填充时,怎么去除浏览器自动添加的默认样式。

    参考blog来自 http://segmentfault.com/q/1010000000671971 chrome浏览器当表单自动填充时,怎么去除浏览器自动添加的默认样式. 一.发现该问题的原因-是 ...

  4. 关于dialog引起的 java&period;lang&period;IllegalArgumentException&colon; View&equals;com&period;android&period;internal&period;policy&period;impl&period;PhoneWindow&dollar;DecorView not attached to window manager 错误的分析

    在跑Monkey测试的时候出现了一个比较特别的问题,先来看看Log: // CRASH: com.meizu.media.painter (pid 12491) // Short Msg: java. ...

  5. Node&period;js初探之GET方式传输

    Node.js初探之GET方式传输 例子:form用GET方法向后台传东西 html文件: <form action="http://localhost:8080/aaa" ...

  6. P - Air Raid

    来源poj1422 Consider a town where all the streets are one-way and each street leads from one intersect ...

  7. highly variable gene &vert; 高变异基因的选择 &vert; feature selection &vert; 特征选择

    在做单细胞的时候,有很多基因属于noise,就是变化没有规律,或者无显著变化的基因.在后续分析之前,我们需要把它们去掉. 以下是一种找出highly variable gene的方法: The fea ...

  8. Codeforces Beta Round &num;70 &lpar;Div&period; 2&rpar;

    Codeforces Beta Round #70 (Div. 2) http://codeforces.com/contest/78 A #include<bits/stdc++.h> ...

  9. Storm实现数字累加Demo

    import java.util.Map; import backtype.storm.Config; import backtype.storm.LocalCluster; import backt ...

  10. Java学习--内置对象(其他的)