Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用regex删除带有空格的字符串(由特殊字符组成)?

如何使用regex删除带有空格的字符串(由特殊字符组成)?
EN

Stack Overflow用户
提问于 2019-09-03 04:35:36
回答 1查看 73关注 0票数 2

用Python编程。

我有两个字符串组成的列表:

  1. List1:字符串由字母组成,如a、b、c、d、‘’(单个空格),
  2. List2:字符串由特殊字符$、欧元、&、%、‘’(单个空格)组成。

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
list1 = ['a    ', 
         'ab   ', 
         'ba  c', 
         ' a b ',
         'abd  ']

list2 = ['$    ', 
         '€&   ', 
         '€%  &', 
         ' $ € ',
         '€&$  ']

实际问题在这两个列表中都有5个以上的元素。目标是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. to remove elements like: 'ba  c', ' a b ' from list1
2. to remove elements like: '€%  &', ' $ € ' from list2

我能够分两个步骤实现目标1:

步骤1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
list1[:] = [word for word in list1 if not (word[0] == ' ')]

第2步:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import re
regex1 = r"\s[\w]\s*" 
list1[:] = [word for word in list1 if not (re.search(regex1, word))]

对于list2,我能够:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
list2[:] = [word for word in list2 if not (word[0] == ' ')]

,它删除元素,例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
' $ € '

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
regex2 = r"\s[\W]\s*" # on list 2

不删除元素,例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'€%  &'

问题:

  1. 将step1和step2结合在list1上的准则是什么?
  2. 什么是正确的正则表达式而不是regex2?
  3. 如果list1和list2连接在一起 list12 =‘a’、'ab‘、'ba c’、‘a b’、'abd‘、'$’、‘欧元&’、‘欧元%&’、‘欧元’、‘欧元和美元’

删除元素的正则表达式是什么,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'ba  c', ' a b ', '€%  &', ' $ € '

如果存在以下模式,则从列表中删除该元素:

  1. 如果字符串的第一个字母是‘’(单空格),例如‘abcd',’欧元$%‘
  2. 如果字符串的字符之间存在“”(单空格),例如“欧元%&”、“a b c”、“%和欧元”

任何帮助都是非常感谢的。谢谢。:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-03 04:51:18

如果模式要匹配左对齐的单词,代码可能如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
list12[:] = [word for word in list12 if re.match(r'^\S+\s*$', word)]

此代码将只匹配最后包含空格的字符串。结果是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a    
ab   
abd  
$    
€&&$  
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57771894

复制
相关文章
【opencv】cv::Mat 公有属性 (Public Attributes)
创建一个5×5×3的3维矩阵,数据类型为8bit无符号数,初始值都为(0,0,255):
JNingWei
2020/03/12
1.5K0
【opencv】cv::Mat 图像格式 (Data Type)
由于 at 方法接受的是 uchar 这样的数据类型,而非 CV_8U。 若是要使用 at 方法访问数据元素,在已知通道数和每个通道数据类型的情况下,指定给 at 方法的数据类型如下表所示:
JNingWei
2020/03/12
8.1K0
【opencv】cv::Mat 公有成员函数 (Public Member Func)
用来度量每一个像素中每一个通道的精度,但它本身与图像的通道数无关。 depth数值越大,精度越高。 Mat.depth()得到的是一个0~6的数字,分别代表不同的位数,对应关系如下:
JNingWei
2020/03/12
1.2K0
opencv 将内存中图片读入到mat矩阵
平常用的比较多的是 imread函数,直接将一个.jpg或者.bmp或者其他格式图片文件,读入到mat矩阵中。
战神伽罗
2019/07/22
4.1K0
将mat格式中加标签的数据分为:训练集、验证集、测试集
<span style="font-size:18px;">分出来的三个集合可能存在交集。</span> %%将一部分MontData 放入到OhmData里面 clear all;close all;clc; load Mont_data; kk1=randperm(size(train,1),2000); kk2=randperm(size(train,1),4000); kk3=randperm(size(train,1),5000); TempMontData1=train(kk1); TempMo
MachineLP
2022/05/09
8530
C++:Armadillo与OpenCV矩阵数据mat、vec、Mat的格式转换
  本文介绍在C++语言中,矩阵库Armadillo的mat、vec格式数据与计算机视觉库OpenCV的Mat格式数据相互转换的方法。
疯狂学习GIS
2023/06/26
3450
C++:Armadillo与OpenCV矩阵数据mat、vec、Mat的格式转换
Python - 读写 Matlab Mat 格式数据
如果 matlab 保存 data 时,采用的是 ‘-v7.3’,scipy.io.loadmat函数加载数据会出现错误:
AIHGF
2019/02/18
4.8K0
SD模块基础教程(三十九):将收货方分配给订货方
声明:本文章仅用于SAP软件的应用与学习,不代表SAP公司。(注:文中所示截图来源SAP软件,相应著作权归SAP所有。)
齐天大圣
2021/02/24
4730
SD模块基础教程(十二):将工厂分配给销售组织/分销渠道
声明:本文章仅用于SAP软件的应用与学习,不代表SAP公司。(注:文中所示截图来源SAP软件,相应著作权归SAP所有。)
齐天大圣
2021/02/24
5370
SD模块基础教程(十一):将销售组分配给销售办公室
声明:本文章仅用于SAP软件的应用与学习,不代表SAP公司。(注:文中所示截图来源SAP软件,相应著作权归SAP所有。)
齐天大圣
2021/02/24
7350
使用MAT元数据匿名工具包
MAT:Metadata Anonymisation Toolkit 什么是元数据Metadata? 元数据是描述其它数据的数据(data about other data), 比如一张图片是图像数
Spaceack
2020/11/04
6220
使用MAT元数据匿名工具包
解决方案-vector初始化后存放Mat,出现Mat矩阵数据同变问题
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
全栈程序员站长
2022/09/28
5160
解决方案-vector初始化后存放Mat,出现Mat矩阵数据同变问题
MAT启动报错
下载Eclipse Memory Analyzer在mac上打开的时候出现以下异常:
JavaEdge
2021/02/22
8780
MAT启动报错
使用python读取matlab数据文件.mat
传送门 http://blog.stackoverflow.club/hdf5-usage/
羽翰尘
2019/11/19
2.5K0
OpenCV2 计算机视觉应用编程秘籍:1~5
本章将教您 OpenCV 的基本元素,并向您展示如何完成最基本的任务:读取,显示和保存图像。 在开始使用 OpenCV 之前,需要安装该库。 这是一个简单的过程,将在本章的第一部分中进行说明。
ApacheCN_飞龙
2023/04/27
3.1K0
SAP RETAIL MM41 不能将Class分配给商品主数据
我们知道在SAP制造业里,物料主数据有独立的分类视图(Classification View),用于将物料号分配物料Class或者批次Class.
SAP虾客
2021/10/08
4950
OpenCV中各种类型Mat数据读取
OpenCV中Mat作为图像容器对象,支持各种数据类型像素值的存储与读取,但是初学者经常因此被被搞得很头大,无法正确的读取不同类别的数据。本文就来详细解释一波各个数据类别,以及不同类别之间的数据转换,搞定Mat中的数据类型问题。
OpenCV学堂
2019/07/12
4.2K0
OpenCV中各种类型Mat数据读取
【Android 内存优化】使用 Memory Analyzer ( MAT ) 工具分析内存 ( hprof 文件转换 | MAT 工具下载 | MAT 工具使用 )
内存泄漏原理 : 长生命周期对象 , 持有短生命周期对象的引用 , 并且是强引用持有 , GC 无法释放该短生命周期对象引用 , 造成 OOM ;
韩曙亮
2023/03/27
8.2K0
【Android 内存优化】使用 Memory Analyzer ( MAT ) 工具分析内存 ( hprof 文件转换 | MAT 工具下载 | MAT 工具使用 )
Opencv中数据结构Mat的相关属性
剑影啸清寒
2018/01/02
2.1K0
Opencv中数据结构Mat的相关属性
点击加载更多

相似问题

读取数据cv::Mat

36

将多维cv::Mat转换为std::vector<cv::Mat>&

252

cv::Mat aaa()与cv::Mat aaa=cv::Mat()的区别;

11

断言失败CV_Assert( CV_IS_MAT(objectPoints) & CV_IS_MAT(imagePoints) & CV_IS_MAT(A) & CV_IS_MAT(rvec) & CV_IS_MAT(tvec) )

10

使用"const cv::Mat &“、"cv::Mat &”、"cv::Mat“或"const cv::Mat”作为函数参数的区别?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文