python - Python 中的正则表达式搜索和替换
问题描述
我正在寻找进行正则表达式条件搜索。
我要做的是如果有回车(\r)后跟大写和小写字母,我想添加空格('')并删除回车,但如果在回车后还有其他我只想替换那。有没有办法在 Python 中使用正则表达式来做到这一点
样本输入:
BCP-\rEngine\reerin\rg\rSyste\rms\rSupp\rort
输出:
BCP- 工程系统支持
数据采用数据框的形式。我目前正在使用 df.replace() 函数将“\r”替换为空格(“”),但我希望它是有条件的。
下面是我的代码 -
df_replace = df.replace(to_replace=r"\r", value = " ", regex=True)
解决方案
我对python不熟悉,但是您需要的正则表达式如下(也许有python经验的人可以编辑以自定义此代码):
这将找到\r
大写字母之前的所有内容,因此将其替换为空字符串:
\\r(?![A-Z])
这将找到\r
小写字母之前的所有内容,因此将其替换为空格:
\\r(?![a-z])
编辑
好的,这是我能够为您整理的一个 Python 解决方案:
import re
myString = "BCP-\rEngin\reerin\rg\rSyste\rms\rSupp\rort"
myString = re.sub("\\r(?![A-Z])", "", myString)
myString = myString.replace("\r", " ") # This can be simple string replace
推荐阅读
- .net - 并发集合中的非并发集合是否安全?
- sql-server - SQL - 图像存储 - 存储 Base64 字符串或文件路径
- node.js - Node v12 无法解析 worker_threads
- reactjs - 在不显示页面的情况下更改 url
- protocol-buffers - ProtoParquetWriter 不写错误、0 和空字符串
- java - 无法使用按钮或 ListSelectionListener 从 JList 获取值
- python - 在 PostgreSQL 11 的整数类型列中存储空值或空白
- html - 使用 css 移动箭头动画
- javascript - 在 .animate() 上的 react.js 中添加前缀
- c - 请解释我的代码中有什么问题?