zoukankan      html  css  js  c++  java
  • python字符串

    8.字符串的处理

    1.in和 not in 来检查一个字符串是否是另外一个字符串的一部分
    2.知道字符串出现的位置,使用find()和index()
    3.判定字符串是否以某一特定子串开始,或是以某一特定子串结束,使用startwith()和endswith()
    4.如果不带任何参数,lstrip().rstrip()和strip()分别是用来删除前导空白,结尾空白和前后空白的方法。空白包括tab,空格,回车和换行.作为一个新字符串返回
    5.upper()返回一个字符串,该字符串是大写的原始字符串的大写.lower()方法返回一个字符串,该字符串是小写的原始字符串
    6.split()方法是把希望作为分隔符的分割的字符串作为参数传递给它,分隔符是单个字符,例如逗号或符号.如果只是想在指定定界符第一次出现字符“n”的位置对字符串进行分割,split()使用成为max_split的第二个参数.
    当一个整数值作为max_split被传递进来,split()仅对字符串分割由max_split指定的次数
    7.splitlines()返回一个由字符串中每一行所组成的列表,并且保存为一组.
    8.将多个字符串连接到一起,join()
    9.replace()有两个参数,分别是被替换的字符串以及替换字符串.
    10.unicode数字和字符映射集    计算机屏幕上显示字符时,计算机将其作为数字在内部进行处理

    python join 和 split方法的使用,join用来连接字符串,split恰好相反,拆分字符串的。

     

    1.join用法示例 
    >>>li = ['my','name','is','bob'] 
    >>>' '.join(li) 
    'my name is bob' 
    >>>'_'.join(li) 
    'my_name_is_bob' 
    >>> s = ['my','name','is','bob'] 
    >>> ' '.join(s) 
    'my name is bob' 
    >>> '..'.join(s) 
    'my..name..is..bob' 

    2.split用法示例 
    >>> b = 'my..name..is..bob' 
    >>> b.split() 
    ['my..name..is..bob'] 
    >>> b.split("..") 
    ['my', 'name', 'is', 'bob'] 
    >>> b.split("..",0) 
    ['my..name..is..bob']  
    >>> b.split("..",1) 
    ['my', 'name..is..bob'] 
    >>> b.split("..",2) 
    ['my', 'name', 'is..bob'] 
    >>> b.split("..",-1) 
    ['my', 'name', 'is', 'bob'] 
    可以看出 b.split("..",-1)等价于b.split("..") 

    4.python 判断字符串中字符类型的常用方法
     
    s为字符串 
    s.isalnum() 所有字符都是数字或者字母
    s.isalpha() 所有字符都是字母
    s.isdigit() 所有字符都是数字
    s.islower() 所有字符都是小写
    s.isupper() 所有字符都是大写
    s.istitle() 所有单词都是首字母大写,像标题
    s.isspace() 所有字符都是空白字符
    判断是整数还是浮点数
    a=123 
    b=123.123
    >>>isinstance(a,int)
    True
    >>>isinstance(b,float)
    True
    >>>isinstance(b,int)
    False
     
    字符串的截取和替换常用方法

    一:字符串的截取
    python的字符串是有序集合,我们可以通过索引来提取想要获取的字符,可以把python的字符串也做为字符串的列表就更好理解
    python的字串列表有2种取值顺序:
    第一种是从左到右索引默认0开始的,最大范围是字符串长度少1
    s = 'ilovepython'
    s[0]的结果是i
    第二种是从右到左索引默认-1开始的,最大范围是字符串开头
    s = 'ilovepython'
    s[-1]的结果是n

    上面这个是取得一个字符,如果你的实际要取得一断字符的话,可以用到python 字符串截取功能,比如:

    s = 'ilovepython'
    s[1:5]的结果是love

    当使用以冒号分隔的字符串,python返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界,比如上面的结果包含了s[1]的值l,而取到的最大范围不包括上边界,就是s[5]的值p

    多举几个里例子让大家更明白点:
    s[:3]
    结果是'ilo',省掉:左边的话,默然左边开始的索引值是0,其实这个表达式和s[0:3]的意思是一样的。
    s[:-1]
    结果是:'ilovepytho' 就是左边开始的索引值是0,最大范围到字符串里的最后一个字符但是不包括最后一个字符。
    s[:]
    结果是:'ilovepython' 获取了从偏移0到末尾之间的元素,这是python 字符串拷贝

    二:字符串的替换
    python 字符串替换是python操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法。
    python 字符串替换可以用2种方法实现:
    1、用字符串本身的方法
    2、用正则来替换字符串
    下面用个例子来实验下:
    a = 'hello word'
    我把a字符串里的word替换为python
    1、用字符串本身的replace方法
    a.replace('word','python')
    输出的结果是hello python

    2、用正则表达式来完成替换:

    import re
    strinfo = re.compile('word')
    b = strinfo.sub('python',a)
    print b
    输出的结果也是hello python

    python中用string.maketrans和translate巧妙替换字符串

    将nginx日志中字符串 [2013-07-03T00:29:40-05:00] HTTP  格式化为:"2013-07-03 00:29:40-05:00"

    整条日志如下:
    92.82.22.46 - - [2013-07-03T00:29:40-05:00] "GET /images/mask_bg.png HTTP/1.1" 200 195 "http://www.chlinux.net/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)" "-"
    将[2013-07-03T00:29:40-05:00] 替换成为:"2013-07-03 00:29:40-05:00"

    把[]换成"",然后把T替换成空格

    >>> s='''92.82.22.46 - - [2013-07-03T00:29:40-05:00] "GET /images/mask_bg.png HTTP/1.1" 200 195 "http://www.chlinux.net/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)" "-"'''
    >>> table = string.maketrans('[]','""')
    >>> s.translate(table)
    '92.82.22.46 - - "2013-07-03T00:29:40-05:00" "GET /images/mask_bg.png HTTP/1.1" 200 195 "http://www.chlinux.net/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)" "-"'
    >>> s.translate(table).replace('T', ' ',1)#替换掉第一个T为空格
    '92.82.22.46 - - "2013-07-03 00:29:40-05:00" "GET /images/mask_bg.png HTTP/1.1" 200 195 "http://www.chlinux.net/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)" "-"'
    也可以这样:
    >>> table = re.sub('[|]','"',s).replace('T', ' ',1)
    >>>print table
    '92.82.22.46 - - "2013-07-03 00:29:40-05:00" "GET /images/mask_bg.png HTTP/1.1" 200 195 "http://www.chlinux.net/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)" "-"' 

  • 相关阅读:
    java中通过jacob调用dts进行数据导入导出
    Tomcat6 配置快逸报表
    [转]Sql Server Alter语句
    redhat linux卸载自带的Java1.4.2安装JDK6
    住房公积金额度计算
    JVisualVM使用
    Tomcat假死之问题原因排查
    JVM内存调优之监控篇
    tomcat之JVM GC 日志文件生成
    webstorm8的license
  • 原文地址:https://www.cnblogs.com/muzinan110/p/4919680.html
Copyright © 2011-2022 走看看