Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果找到字符串/模式,则将其从列表中删除

如果找到字符串/模式,则将其从列表中删除
EN

Stack Overflow用户
提问于 2021-03-03 01:59:22
回答 1查看 130关注 0票数 0

我有一个JSON文件,我正在使用MongoDB数据库使用PyMongo检索该文件。

通过执行以下操作,我将Python游标转换为列表:

代码语言:javascript
运行
AI代码解释
复制
db = mongo_client.test_db
table = db.test_table
doc = list(table.find())

现在我要做的是检查列表是否包含一个特定的字符串,如果包含了,它应该只保留字符串的一个子字符串。

列表:

代码语言:javascript
运行
AI代码解释
复制
doc=[{'_id': ObjectId('5f45228293d7b757bcbd2d67'),'features': [DBRef('featId', ObjectId('5f452e3793d7b757bcbd2d88'))]}]

因此,目前我正在使用下面的代码来检查列表中是否存在DBRef,这个列表工作得很好。但我不太清楚要用什么替换print语句,以便只保留ObjectId

代码语言:javascript
运行
AI代码解释
复制
if "DBRef" in str(doc):
    print("its here") #remove the dbref and only keep alphanumeric value
else:
    print("not here") #do nothing to the list

预期输出(如果在列表中找到DBRef ):

代码语言:javascript
运行
AI代码解释
复制
doc=[{'_id': ObjectId('5f45228293d7b757bcbd2d67'),'features': ObjectId('5f452e3793d7b757bcbd2d88')}]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-03 03:16:32

据我所知,列表中有一本字典,因此您只需更新其中一些值即可。

不确定doc变量的期望输出是什么,列表中有多少条数据集等等,但是,下面是我得出的结论:

  1. 找到一个值,该值需要用regex保存,或者仅通过引用对象id
  2. 创建具有所需键的临时dict来保存:值对
  3. 更新列表

中现有的dict

doc指的是列表的第一个元素。

“‘’python

备选案文1:

代码语言:javascript
运行
AI代码解释
复制
#regex version in case saving ObjectId as bson.objectid is not required

import re

object_value = re.search("DBRef\('featId', ObjectId\((.*?)\)", str(doc[0]['features'])).group(1)
d1 = {'features': f'ObjectId({object_value})'}
doc[0].update(d1)

备选案文2:

代码语言:javascript
运行
AI代码解释
复制
#accessing the required value directly and saving it as ObjectId
from bson.objectid import ObjectId
from bson.dbref import DBRef

object_value_no_regex = doc[0]['features'][0].id
d1 = {'features': ObjectId(object_value_no_regex)}
doc[0].update(d1)

谢谢!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66454685

复制
相关文章
如何从 Python 中的字符串列表中删除特殊字符?
在进行字符串处理和文本分析时,有时我们需要从字符串列表中删除特殊字符。特殊字符可能是空格、标点符号、换行符等,在某些情况下它们可能干扰我们的文本处理或分析任务。Python 提供了多种方法来删除字符串列表中的特殊字符。本文将详细介绍在 Python 中删除字符串列表中特殊字符的几种常用方法,并提供示例代码帮助你理解和应用这些方法。
网络技术联盟站
2023/06/01
8.7K0
Python - 从字典列表中删除字典
字典是python的一个非常常用的功能,用于根据用户需要在其中存储数据。另一个典型的过程涉及编辑或操作此数据。要成为一名高效且快速的程序员,您必须弄清楚如何从字典列表中删除字典。有许多技术可以从词典列表中删除字典,本文将介绍这些技术。
很酷的站长
2023/08/11
4350
Python - 从字典列表中删除字典
Python从字符串中删除字符
Sometimes we want to remove all occurrences of a character from a string. There are two common ways to achieve this.
全栈程序员站长
2022/09/01
6K0
如何从 Python 列表中删除所有出现的元素?
在 Python 中,列表是一种非常常见且强大的数据类型。但有时候,我们需要从一个列表中删除特定元素,尤其是当这个元素出现多次时。本文将介绍如何使用简单而又有效的方法,从 Python 列表中删除所有出现的元素。
网络技术联盟站
2023/06/01
12.9K0
go从已知列表中查找字符串
01 May 2016 go从已知列表中查找字符串 最近在开发中遇到一个需求,需要查找某个给定的字符串是否属于有效字符串。例如以下字符串都是有效字符串: "key1" "key2" "key3" "key4" "key5" "key6" 若查找的字符串是key1,存在key1,所以key1是有效字符串,若查找的字符串是key0,不存在key0,所以key0是无效字符串。 我通过4种方式实现,分别如下: 方式一:使用map 将有效的字符串定义成map的key,
俊采
2018/05/15
2.9K0
如何使用JavaScript从字符串中删除HTML标签?
我们可以使用以下示例从带有 JavaScript 的字符串中删除 HTML 标签 -
很酷的站长
2022/12/04
13.2K0
如何使用JavaScript从字符串中删除HTML标签?
LeetCode 2038. 如果相邻两个颜色均相同则删除当前颜色
总共有 n 个颜色片段排成一列,每个颜色片段要么是 ‘A’ 要么是 ‘B’ 。 给你一个长度为 n 的字符串 colors ,其中 colors[i] 表示第 i 个颜色片段的颜色。
Michael阿明
2022/01/07
4170
python中删除列表中重复元素
在面试中,很可能遇到给定一个含有重复元素的列表,删除其中重复的元素,下边给出三种方法来实现这个功能。
全栈程序员站长
2022/09/07
4.1K0
一日一技:使用切片从列表中删除元素
列表的切片操作相信大家都已经非常熟悉了。例如有一个列表: [1,2,3,4,5,6,7,8,9,0]
青南
2019/05/14
3.6K0
mysql技巧:如果记录存在则更新/如果不存在则插入的三种处理方法
新增一个员工时,如果该员工已存在(以员工号f_emp_code作为判断依据),则更新,否则插入。而且工资f_salary,更新时,不得低于原工资(即:工资只能涨,不能降)。
菩提树下的杨过
2018/12/21
9.3K0
Python - 删除列表中的重复字典
Python 是一个非常广泛使用的平台,用于 Web 开发、数据科学、机器学习以及自动化执行不同的过程。我们可以将数据存储在python中,以不同的数据类型,例如列表,字典,数据集。python字典中的数据和信息可以根据我们的选择进行编辑和更改
很酷的站长
2023/08/11
4821
Python - 删除列表中的重复字典
String(字符串) 比较大小 如果有A+B>B+A 则A>B
分析:贪心,字典序排序,都不对大小比较也不对,今天我跟别人想了很久绞尽脑汁,各种模拟都失败了。最后才发现对于俩个数a=313,b=3133。
风骨散人Chiam
2020/10/28
4630
从DataFrame中删除列
在操作数据的时候,DataFrame对象中删除一个或多个列是常见的操作,并且实现方法较多,然而这中间有很多细节值得关注。
老齐
2021/03/29
7.2K0
【leetcode刷题】T103-从分类列表中删除重复项目 II
使用两个指针pre和cur,pre始终指向链表前一部分非重复元素的最后一个节点,cur指向pre指向的节点后重复元素的最后一个节点。当pre->next == cur时,说明cur->val是唯一元素,不用删除,否则pre->next = cur->next。
木又AI帮
2019/07/17
2.3K0
python中删除特定字符串
import re text = ‘wo,didi;wode,;wode’ text0 = text.replace(‘didi’, ”) print(re.sub(‘[,;]’, ‘ ‘, text0))
全栈程序员站长
2022/09/02
3.5K0
使用 Python 从作为字符串给出的数字中删除前导零
在本文中,我们将学习一个 python 程序,从以字符串形式给出的数字中删除前导零。
很酷的站长
2023/02/23
7.6K0
使用 Python 从作为字符串给出的数字中删除前导零
如何从列表中获取元素
观察URAM的物理管脚,不难发现A/B端口都有相应的地址、使能、读写控制信号。与BRAM不同的是URAM的读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口的读写操作就无法同时发生,因此,如果采用上一篇文章中介绍的方法将其配置为两个独立的单端口RAM,其读写行为与常规的单端口RAM是不同的,进一步而言,此时的读写行为类似于NO_Change模式。
Lauren的FPGA
2019/10/30
17.8K0
从lvm中删除硬盘、分区
本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/remove_disk_from_lvm/
羽翰尘
2019/11/20
7K0
如何用 Java 找到字符串中的元音
通常需要考虑的的是大小写,空格,特殊字符等问题。在 Java 中,如果处理不好会容易空对象异常。
HoneyMoose
2023/09/12
1530
如何用 Java 找到字符串中的元音
【说站】python迭代中删除列表项目
2、通过分配给slice somelist[:],改变现有列表以仅包含想要的项目。
很酷的站长
2022/11/24
1.6K0
【说站】python迭代中删除列表项目

相似问题

如果找到模式,则使用JavaScript Regx删除特定字符串

10

如果找到多个值,则删除嵌套列表。

12

如果列表中存在字符串,则创建列表/从列表中删除行

31

如果字符串找到vba,则删除行

34

在字符串中搜索模式,如果找到则添加字符

347
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文