Python学习---第8天---String处理

来源:互联网 发布:如何入侵网站数据库 编辑:程序博客网 时间:2024/05/22 23:59

1、关于print(string)

  help(print)会显示这个函数的具体信息:

  

  也就是说,他会在输出给定的string之后,在之后追加一个"\n"输出,如果我们的string之中已经有了回车换行,就会输出2个回车换行,以至于出现一个空行。

解决方法1:

  print("string",end="\n")可以组织自动追加"\n"

解决方法2:

 使用strip()内建函数


2、关于strip()内建函数

  string.strip()默认去掉string左右两边的空格、\n、\r等字符

  问题:想要输出类似Python脚本这样的依靠缩进的代码文件的时候,如果没有了左边的空格字符,整个格式就乱了

  替代方法:

  string.lstrip()   #删除string左边的空格等字符

  string.rstrip()   #删除string右边的空格等字符

  strip()删除指定字符:

  只是删除右边的回车,不删除空格:stirng.rstrip("\n")

  如果以“#”开头,删除#,否则不处理:string.lstrip("#")


3、关于replace()函数---替换

  语法:string.replace(old,new)

  用途:把指定字符替换为另外的字符,方便处理。

  缺点:不支持正则表达式

  用途:很实用,如统计文件的单词的个数(把特殊字符替换为空格,然后压缩re空格,然后计数)。

  

4、re.sub()函数---压缩

  语法:import re;re.sub(正则表达式,替换为,要处理的string对象)

  举个栗子:

  

5、按照空格拆分&计数

  

经过核对发现,多了1个!明明只有10个单词。原来是语句末尾最后一个“?”的缘故,把“?”替换为了“ ”空格,之后又按照空格拆分,最后一个就是空格,空格之后就没有什么了,所以多拆出来一个""单词。

 

6、字符串的比较:

Python3以前比较用的是cmp函数,但是我装的是Python3,没有cmp函数,取而代之的是oprater模块下面的这些函数:

[python] view plain copy
  1. operator.lt(a, b)   
  2. operator.le(a, b)   
  3. operator.eq(a, b)   
  4. operator.ne(a, b)   
  5. operator.ge(a, b)   
  6. operator.gt(a, b)   
  7. operator.__lt__(a, b)   
  8. operator.__le__(a, b)   
  9. operator.__eq__(a, b)   
  10. operator.__ne__(a, b)   
  11. operator.__ge__(a, b)   
  12. operator.__gt__(a, b)   

这几个函数就是用来替换之前的cmp的,之前使用cmp的同胞们,咱们以后就换上面这些函数咯。

先简单说下这几个函数的意思吧。

lt(a, b) 相当于 a < b

le(a,b) 相当于 a <= b

eq(a,b) 相当于 a == b

ne(a,b) 相当于 a != b

gt(a,b) 相当于 a > b

ge(a, b)相当于 a>= b

函数的返回值不是布尔哦。这点需要注意,还是跟cmp一样返回的是数值哦。

 


0 0
原创粉丝点击