• 斜杠反斜杠,去空格xa0,连接函数join()


    1斜杠反斜杠

    斜杠:/。反斜杠:。

    反斜杠,在windows系统中用来表示目录。
    而在unix系统中,/表示目录。由于web遵循unix命名,所以在网址(URL)中,/表示目录。
    在unix系统中,表示跳脱字符将特殊字符变成一般字符(如enter,$,空格等)。
     

    xa0 是不间断空白符   
    我们通常所用的空格是 x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内。 
    而 xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space)。 
    latin1 字符集向下兼容 ASCII ( 0x20~0x7e )。通常我们见到的字符多数是 latin1 的,比如在 MySQL 数据库中。 
    有如下信息:

    'T-shirtxa0xa0短袖圆领衫,体恤衫xa0,', 'V-neckxa0xa0V型领xa0sleevexa0xa0袖子xa0,',
    

      

    我们如何将其中的xa0去掉呢,试了re模块的sub方法,发现没有作用,于是又开始查阅相关资料,终于解决了该问题。方法如下:

    >>> inputstring = u'
                          Door:xa0Novum          	      '
    >>> move = dict.fromkeys((ord(c) for c in u"xa0
    	"))
    >>> output = inputstring.translate(move)
    >>> output
    '                      Door:Novum          
    

      

    另外还有一种更简单的方法,利用split方法:

    >>> s
    'T-shirtxa0xa0短袖圆领衫,体恤衫xa0'
    >>> out = "".join(s.split())
    >>> out
    'T-shirt短袖圆领衫,体恤衫'
    

      

    可以发现利用translate方法、split()可以完美解决,并且还可以替换 字符,由此又学到了新知识!

    关于ord函数: 
    ord()函数是chr()函数(对于8位的ASCII字符串)或unichr()函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值,如果所给的Unicode字符超出了你的Python定义范围,则会引发一个TypeError的异常。

    关于fromkeys方法: 
    dict中的fromkeys方法目的是创建一个只有key的字典,内部利用for循环,使三个字符的asii码值成为可迭代对象(本来的整数是不可迭代的),分别对其迭代,存入字典。

    关于translate方法: 
    Python translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。接收到move返回的表(字典),之后对字符串进行替换。

    join()方法: 
    join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。

    join()方法语法:

    str.join(sequence),其中,str指定的用来连接的字符(分隔符),sequence是被连接的字符串数组,元组,列表。
    返回:返回通过指定字符连接序列中元素后生成的新字符串。
    例如:
    >>>str = "-";
    >>>seq = ("a", "b", "c"); # 字符串序列
    >>>print str.join( seq );
    a-b-c

    可见该处用join方法真的是神来之笔,可谓绝妙!

    值得注意的是,split方法中不带参数时,表示分割所有换行符、制表符、空格。

  • 相关阅读:
    大学生程序猿IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之
    Codeforces 385C Bear and Prime Numbers
    CSU1659: Graph Center(最短路)
    新版ADT出现appcompat_v7的问题
    @IBDesignable和@IBInspectable
    FTP命令详解
    R语言屏幕输出
    R语言常用基础知识(入门)
    R语言数据类型转换
    使用建议(内部使用)
  • 原文地址:https://www.cnblogs.com/zz22--/p/9316852.html
Copyright © 2020-2023  润新知