# -*- coding:utf-8 -*-

import re

# 检验某个字符是否是中文字符

def is_chinese(char):

if '\u4e00' <= char <= '\u9fa5':

return True

return False

# 检验某个字符是否是英文文字符或数字

def is_english_char(char):

if 97<=ord(char)<=122 or 65<=ord(char)<=90 or char.isdigit():

return True

return False

# 去掉字符串之间多余的空格

def del_space(strs_v):

strs_v = strs_v.strip()

# 计算出字符串中空格的所有位置,如果没有空格返回出空list

index_list = [i.start() for i in re.finditer(' ', strs_v)] # i.span()

remove_index=[]

for index in index_list:

# # 如果空格字符串前面和后面有一个中文,去掉空格

# if is_chinese(strs_v[index-1]) or is_chinese(strs_v[index+1]):

# remove_index.append(index)

# 去掉空格前面的一个空格,如果英文里边中间隔了两个空格,去掉空格后面的一个空格的话,英文会连在一起

# elif strs_v[index - 1] == ' ': # or strs_v[index + 1]==' '

# remove_index.append(index)

#空格前面不是字母或数字

if not(is_english_char(strs_v[index-1])):

remove_index.append(index)

#空格前面是字母或数字,空格后面不是字母和数字且后面不是空格

elif is_english_char(strs_v[index-1]) and (not is_english_char(strs_v[index+1]) and strs_v[index + 1]!=' '):

remove_index.append(index)

if remove_index !=[]:

strs_v = ''.join([strs_v[i] for i in range(len(strs_v)) if i not in remove_index])

return strs_v

if __name__ == '__main__':

a='ALWIN VANGARD INVESTMENT LTD. '

print(del_space(a))

a='中融 a 1 ( 信托 ansnns fff 展博 Lindman 6 Global Growth PE Fund'

print(del_space(a))

print(del_space(del_space(a)))

参考:https://www.jianshu.com/p/25def1847697

https://blog.csdn.net/baidu_15113429/article/details/80651091

本文同步分享在 博客“周小董”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

python中文字符串多余空格_[785]python去掉字符串中多余的空格相关推荐

  1. excel剔除空格_如何快速去掉EXCEL中的大量空格?—文字讲解与视频操作版

    文本型数据的快速变身技巧 小琪已经跟顾城学习了表格与数据的基本规则,此时,她再回头看陈峰制作的人员信息管理表,发现:"顾城哥,听你这一讲,陈峰给我的这一份电子版人员信息管理表里的数据问题真的 ...

  2. python 中文转拼音原理_【Python】 汉字转化汉语拼音pinyin

    pinyin pinyin模块是github上一个小项目,在github.com/cleverdeng/pinyin.py上面可以下到源码.衷心感谢那些为这个模块做出贡献的人来方便我们[鞠躬] 安装: ...

  3. python中文模糊关键词提取_用Python给你的文本提取关键词

     对代码.编程感兴趣的可以关注「老K玩代码」公众号和我交流!分享代码.经验.项目和资讯 用Python给你的文本提取关键词 关键词提取是自然语言处理中常见的业务模块; 要实现关键词提取,Python ...

  4. python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  5. python字符计数怎样去除空格_去除python中的字符串空格的简单方法

    python编程中,我们在修改代码,遇到空格很多的情况下,我们要删除空格.本文小编整理了三种字符串去除空格的方法: 方法一:使用字符串函数replace,去除全部空格. 实例: >>> ...

  6. python字符串的内部函数_「Python」字符串操作内置函数

    目录: capitalize casefold center count encode decode endswith expandtabs find format format_map index ...

  7. python 中文转unicode编码_Python 解码 Unicode 转义字符串

    其实,这里要讨论的内容是针对 Python2 的,实际上也是 Python2 中让人头疼的编码问题,而 Python3 则好处理得多. 先来看看例子: >>> s = "我 ...

  8. 不属于python标准库的是_《Python Cookbook(第2版)中文版》——1.10 过滤字符串中不属于指定集合的字符-阿里云开发者社区...

    本节书摘来自异步社区<Python Cookbook(第2版)中文版>一书中的第1章,第1.10节,作者[美]Alex Martelli , Anna Martelli Ravenscro ...

  9. python字符串拼接数字_解决Python中字符串和数字拼接报错的方法

    解决Python中字符串和数字拼接报错的方法 前言 众所周知Python不像JS或者PHP这种弱类型语言里在字符串连接时会自动转换类型,如果直接将字符串和数字拼接会直接报错. 如以下的代码: # co ...

最新文章

  1. 智能车竞赛技术报告 | 单车拉力组 - 沈阳航空航天大学 - 青梅绿茶队
  2. H5应用缓存和浏览器缓存有什么区别
  3. table表格细边框
  4. C/C++ 类默认生成的四个函数
  5. iptables复习记忆
  6. 【Rational Rose使用笔记】用例图
  7. Codeforces Round #301 (Div. 2) C. Ice Cave BFS
  8. python扫描端口脚本_python扫描端口脚本
  9. 软件测试--面试时如何回答接口测试怎么进行
  10. baidumap vue 判断范围_vue中百度地图API的调用
  11. django实例:创建你的第一个应用投票系统(3)后台管理
  12. 会议安排(经典贪心算法例题)
  13. feign 实现签名、服务地址动态切换
  14. ZXing二维码自定义绘画文字
  15. python 显示gif_PyQt5显示GIF图片的方法
  16. linux 查询系统io,Linux系统IO实时监控iostat命令详解
  17. 将localhost换成自己电脑的ip的方法
  18. vue里面怎么实现页面跳转_vue.js怎样做跳转页面?
  19. NB-IOT技术(一) - 低功耗广域网络(LPWA)
  20. CentOS7安装DockerCompose

热门文章

  1. NLP ——Doc2vec
  2. PK阿里腾讯,华为首个“城市大脑”将落地广东(附项目清单)
  3. excel不显示0_Excel表格技巧—用箭头标记Excel表格中数据增减的方法
  4. 香港银行渣打银行卡激活流程
  5. aix查看文件夹大小命令_在aix中查看文件大小
  6. Java EL 详细用法讲解
  7. 分子生成中常见分子描述符介绍及代码实现
  8. nsi的检测和使用驱动
  9. 如何通过扫码自动复制口令 并打开抖音时自动弹出口令视频窗口
  10. 【DevOps】 Prometheus + Grafana (一)安装配置与系统级监控