Python常用技巧

2019-04-12 分类 [Python开发]

1. 删除字符串中的换行符

换行符一般包括Unix上的\n和Windows上的\r\nStackoverflow上的解决方案:

import re 
if re.search("(\\r|)\\n$", line):
    line = re.sub("(\\r|)\\n$", "", line)

可以同时处理Windows和Unix

2.删除字符串中的所有空白字符

如果想删除字符串中的所有空白字符,包括回车、空格、Tab(制表符)等等,可以使用split()函数配合join()来完成,即

"".join(str.split())

还可以使用stringtranslate()函数实现:

import string
str.translate({ord(c): None for c in string.whitespace})

更复杂的要求可以用正则表达式实现:

import re

str = '  Hello  World   From Zombie \t\n\r\tHi There  '

print('去掉所有空格:\n', re.sub(r"\s+", "", s), sep='')  # \s 匹配所有空格
print('去掉开头的空格:\n', re.sub(r"^\s+", "", s), sep='')  # ^ 匹配开始
print('去掉末尾的空格:\n', re.sub(r"\s+$", "", s), sep='')  # $ 匹配结束
print('去掉开头和末尾的空格:\n', re.sub(r"^\s+|\s+$", "", s), sep='')  # | 用于表示逻辑或

结果如下:

去掉所有空格:
HelloWorldFromPankajHiThere
去掉开头的空格:
Hello  World   From Pankaj 	
	Hi There  
去掉末尾的空格:
  Hello  World   From Pankaj 	
	Hi There
去掉开头和末尾的空格:
Hello  World   From Pankaj 	
	Hi There

ref: https://www.journaldev.com/23763/python-remove-spaces-from-string