python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解

在pdf转为文本的时候,经常会多出空格,影响数据观感,因此需要去掉文本中多余的空格,而文本中的英文之间的正常空格需要保留,输入输出如下:

input:我今天 赚了 10 个亿,老百姓very happy。

output:我今天赚了10个亿,老百姓very happy。

代码

def clean_space(text):
  """"
  处理多余的空格
  """
  match_regex = re.compile(u'[\u4e00-\u9fa5。\.,,::《》、\(\)()]{1} +(?<![a-zA-Z])|\d+ +| +\d+|[a-z A-Z]+')
  should_replace_list = match_regex.findall(text)
  order_replace_list = sorted(should_replace_list,key=lambda i:len(i),reverse=True)
  for i in order_replace_list:
    if i == u' ':
      continue
    new_i = i.strip()
    text = text.replace(i,new_i)
  return text

python去除英文单词之间多余的空格

re.sub(" +", " ", s)

import re 

s = "     info has been found (+/- 100 pages, and 4.5 mb of .pdf files) now i have to wait untill our team leader has processed it and learns html.     "
re.sub(" +", " ", s)

' '.join(s.split())

s = "     info has been found (+/- 100 pages, and 4.5 mb of .pdf files) now i have to wait untill our team leader has processed it and learns html.     "

s = ' '.join(s.split())
s

更多关于python使用正则表达式去除多余空格方法请查看下面的相关链接

(0)

相关推荐

  • python 使用正则表达式按照多个空格分割字符的实例

    程序代码如下 import os import re os.system("nmap -sP 192.168.3.0/24") //扫描IP mac = os.popen("cat /proc/net/arp ").readlines() //按行读取 length = len(mac) for i in range(1,length): b= re.split(r" +",mac[i]) //按照多个空格分割 if(b[2]=='0x2'):

  • 详解Python中正则匹配TAB及空格的小技巧

    在正则中,使用.*可以匹配所有字符,其中.代表除\n外的任意字符,*代表0-无穷个,比如说要分别匹配某个目录下的子目录: >>> import re >>> match = re.match(r"/(.*)/(.*)/(.*)/", "/usr/local/bin/") >>> match.groups() ('usr', 'local', 'bin') >>> 比如像上面,使用(.*)就能很好

  • Python脚本处理空格的方法

    最近小编遇到一个奇葩问题,就是上传代码时拷贝vs里面的代码不能直接粘贴,否则空格会不符合要求,怎么解决此问题呢?下面小编给大家分享我的解决方案,希望能够帮助到大家! 去掉空格代码 # -*- coding: utf-8 -*- '''打开delSpace.txt文本并删除每行开头的八个空格''' f=open("delSpace.txt") lines=f.readlines() for line in lines: '''第8位至倒数第1位(但不包含它)''' print line[

  • Python去除、替换字符串空格的处理方法

    个人想到的解决方法有两种,一种是  .replace(' old ',' new ')   第一个参数是需要换掉的内容比如空格,第二个是替换成的内容,可以把字符串中的空格全部替换掉. 第二种方法是像这样 str_1_data = ' a b c ' str_2_list = str_1_data.split() str_1 = '' for i in range(len(str_2_list)): #这里可以直接用 str_1.join(str2_list) str_1 += str_2_lis

  • python将文本中的空格替换为换行的方法

    测试文本 jb51.txt welcome to jb51.net I love you very much python代码 # -*- coding: utf-8 -*- ''' 遇到文中的空格就换行 ''' def delblankline(infile, outfile): infopen = open(infile, 'r',encoding="utf-8") outfopen = open(outfile, 'w',encoding="utf-8") d

  • python去除空格和换行符的实现方法(推荐)

    一.去除空格 strip() "   xyz   ".strip()            # returns "xyz"  "   xyz   ".lstrip()           # returns "xyz   "  "   xyz   ".rstrip()           # returns "   xyz"  "  x y z  ".replace(

  • python清除字符串前后空格函数的方法

    python有时候需要清除字符串前后空格,而字符本身的空格不需要清除掉,那就不能用正则re.sub来实现. 这时用到strip()函数 用法: str = ' 2014-04-21 14:10:18 ' str2 = str.strip() str3 = re.sub(' ','',str) print str2 print str3 结果如下: >2014-04-21 14:10:18 >2014-04-2114:10:18 以上这篇python清除字符串前后空格函数的方法就是小编分享给大家

  • python去除文件中空格、Tab及回车的方法

    本文实例讲述了python去除文件中空格.Tab及回车的方法.分享给大家供大家参考,具体如下: 在最近的开发工作中,为了应付比赛赶进度,服务端的json文件都是人工写的,写完之后发现格式都是十分规整,易于人阅读的json,但是客户端请求不需要那些为了格式而在json里面添加的空格.tab.回车等等没用的字符,遂用python写一脚本,去除文件中的空格.回车.换行. 原json文件: { "amount" : "2", "content" : [

  • Python切片操作去除字符串首尾的空格

    下面通过实例代码给大家分享Python切片操作去除字符串首尾的空格的方法,具体内容如下所示: #利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 def trim(s): while s[0:1]==' ': s=s[1:] while s[(len(s)-1):len(s)]==' ': s=s[:-1] return s s=input('请输入一个字符串:') print('去除首尾空格后',trim(s)) 知识点: •取一个list或

  • python 去除txt文本中的空格、数字、特定字母等方法

    使用场景:需要去除txt文本中的空格.数字.特定字母等. 需要修改的txt文本叫做:train.txt 修改之后保存成:train_output.txt # ecoding=utf-8 ifn = r"train.txt" ofn = r"train_output.txt" infile = open(ifn,'rb') outfile = open(ofn,'wb') for eachline in infile.readlines(): #去掉文本行里面的空格.

  • python 删除字符串中连续多个空格并保留一个的方法

    如下所示: ' '.join(line.split()) 例如:'line dd',运行line.split()得到只有两个元素的列表['line','dd'] 以上这篇python 删除字符串中连续多个空格并保留一个的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python去除字符串前后空格的几种方法

    其实如果要去除字符串前后的空格很简单,那就是用strip(),简单方便 >>> ' A BC '.strip() 'A BC' 如果不允许用strip()的方法,也是可以用正则匹配的方法来处理. >>> s1 = ' A BC' >>> s2 = 'A BC ' >>> s3 = ' A BC ' >>> s4 = 'A BC' >>> def trim(s): ... import re ...

  • 关于Python中空格字符串处理的技巧总结

    前言 大家应该都知道字符串处理,是任何语言最常用到的. 其中就经常会碰到,对字符串中的空格处理,比如:去除前后空格,去除全部空格,或者以空格为分隔符来处理. 好在Python中字符串有很多方法,比如lstrip() ,  rstrip() ,  strip()来去除字符串前后空格,借助split()对字符来分隔: 实在不行,还可以借助于re模块的sub函数来替换. 下面列举下,各种情况下的处理技巧,通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,话不多说了,来一起看看详细的介绍吧. [

随机推荐