网络上的一些文本,部分会有一些不必要的空格,如果想把空格全部替换掉,使用字符串string类的replace()方法即可,如:
str = str.replace(‘ ‘,”)
但如果是中英文混排的文本,如果想替换掉汉字中间的空格,而保留英文单词之间的空格,则问题的解决要复杂一些 。需要用到正则表达式 。
如有以下文档:
行(或段)的首尾、一些汉字之间有不必要的空格,需要替换掉 。
用以下Python代码即可:
处理后的文本保存到了new.txt文档:
当然,一些有规律的乱码也可以处理 。
上面有提到全部是中文的简单处理方法,也可以用一个简单的正则表达式判断文档或字符串内容是否包含“英文 空格 英文”的形式,然后用一个条件判断分别处理:
下面需要重点剖析一下上面关于正则表达式的概念及相关的一些内容:
正则表达式是一种用来匹配字符串的强有力的武器 。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的 。
1 compile()方法 向re.compile()传入一个字符串值,表示编译一个正则表达式,它将返回一个Regex 模式对象(或者就简称为Regex 对象) 。
我们在Python中使用正则表达式时,re模块内部会做两件事情:
I 编译正则表达式,如果正则表达式的字符串本身不合法,会报错;如果一个正则表达式要重复使用多次或一些较复杂的正则表达式,出于效率的考虑,我们可以预编译该正则表达式,接下来重复使用时就不需要编译这个步骤了,直接匹配 。编译后生成Regular ex
II 用编译后的正则表达式去匹配字符串;
推荐阅读
- 附学习路线图 java学习体系框架
- 计算机java是什么意思 计算机java的解释
- 直线方程两点式的表达式是什么 直线方程两点式的表达式写法
- 中缀表达式转后缀表达式 中缀表达式转后缀表达式具象化
- 反射有什么作用 java反射机制有什么用
- java怎么读 java如何读
- 函数中的表达式是什么意思 函数中的表达式指什么
- Java语言的特点有哪些 Java语言的特点介绍
- java技术专家有年龄限制吗?
- 光合作用表达式 关于光合作用表达式介绍