首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在python中提取两个字符串之间的子串

在python中提取两个字符串之间的子串
EN

Stack Overflow用户
提问于 2018-07-21 15:43:49
回答 2查看 2.5K关注 0票数 0

我有一个python dataframe,其中有一个字符串列,我想将它分成多个列。

DF的某些行如下所示:

代码语言:javascript
运行
AI代码解释
复制
COLUMN

ORDP//NAME/iwantthispart/REMI/MORE TEXT
/REMI/SOMEMORETEXT
/ORDP//NAME/iwantthispart/ADDR/SOMEADRESS
/BENM//NAME/iwantthispart/REMI/SOMEMORETEXT

所以基本上我想要'/NAME/‘之后的所有内容,直到下一个'/’。然而。并不是每一行都有'/NAME/iwantthispart/‘字段,如第二行所示。

我尝试过使用拆分函数,但最终得到了错误的结果。

代码语言:javascript
运行
AI代码解释
复制
mt['COLUMN'].apply(lambda x: x.split('/NAME/')[-1])

这只是给了我/NAME/部分之后的所有内容,在没有/NAME/的情况下,它会向我返回完整的字符串。

有没有人有什么建议或解决方案?非常感谢您的帮助!(项目符号是为了使其更具可读性,并且实际上不在数据中)。

EN

回答 2

Stack Overflow用户

发布于 2018-07-21 16:02:11

您可以使用str.extract提取所选的模式,使用正则表达式:

代码语言:javascript
运行
AI代码解释
复制
# Generally, to match all word characters:
df.COLUMN.str.extract('NAME/(\w+)')

代码语言:javascript
运行
AI代码解释
复制
# More specifically, to match everything up to the next slash:
df.COLUMN.str.extract('NAME/([^/]*)')

这两个函数都返回:

代码语言:javascript
运行
AI代码解释
复制
0    iwantthispart
1              NaN
2    iwantthispart
3    iwantthispart
票数 3
EN

Stack Overflow用户

发布于 2018-07-21 16:16:25

无论第一个单词是不是name,这两行代码都会给出第二个单词

代码语言:javascript
运行
AI代码解释
复制
mt["column"]=mt["column"].str.extract(r"(\w+/\w+/)")
mt["column"].str.extract(r"(\/\w+)")

这将给出以下结果作为pandas数据帧中的一列:

代码语言:javascript
运行
AI代码解释
复制
/iwantthispart
/SOMEMORETEXT
/iwantthispart
/iwantthispart

如果你只对包含NAME的代码行感兴趣,这对你来说很好:

代码语言:javascript
运行
AI代码解释
复制
mt["column"]=mt["column"].str.extract(r"(\NAME/\w+/)")
mt["column"].str.extract(r"(\/\w+)")

这将产生以下结果:

代码语言:javascript
运行
AI代码解释
复制
/iwantthispart
/NaN
/iwantthispart
/iwantthispar
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51457672

复制
相关文章
PHP经典:提取子字符串
substr:整个字符串 从哪里开始(第一个是下标0) 最后是哪里(比如写8那8-1=7就对了)
贵哥的编程之路
2021/10/09
8160
Java在字符串中查找匹配的子字符串
示例: 在源字符串“You may be out of my sight, but never out of my mind.”中查找“my”的个数。输出:匹配个数为2
全栈程序员站长
2022/09/14
7.6K0
用于提取HTML标签之间的字符串的Python程序
HTML 标记用于设计网站的骨架。我们以标签内包含的字符串的形式传递信息和上传内容。HTML 标记之间的字符串决定了浏览器将如何显示和解释元素。因此,这些字符串的提取在数据操作和处理中起着至关重要的作用。我们可以分析和理解HTML文档的结构。
很酷的站长
2023/08/11
2770
用于提取HTML标签之间的字符串的Python程序
python提取字符串中数字
题目:【这是一个复杂问题的简化】如下是一个字符串列表,提取字符串中第二个数字,并判断是否大于1000,如果是,从列表中删除这一行。
用户7886150
2021/01/10
2.8K0
字符串中查找子串_cstring查找子字符串
假设要从主串 s = “goodgoogle” 中找到 t = “google” 子串。根据我们的思考逻辑,则有:
全栈程序员站长
2022/09/24
3.2K0
字符串中查找子串_cstring查找子字符串
删除字符串中的子串
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。
叶茂林
2023/07/28
4890
删除字符串中的子串
python提取字符串中的数字「建议收藏」
isdigit()函数是检测输入字符串是否只由数字组成。如果字符串只包含数字则返回 True 否则返回 False。
全栈程序员站长
2022/11/07
4.1K0
js提取正则中的字符串
代码如下: var results = data.match(/(start=').*?(')/); if (results != null) { console.log(data[0]);
磊哥
2018/05/08
5.6K0
字符串匹配:字符串中查找某子串
我们在平时的软件开发,尤其是嵌入式开发,字符串匹配是非常重要的一个算法。而目前常用的字符串匹配算法有很多,下面就来介绍几个。
跋扈洋
2022/03/29
1.6K0
如何在 Python 中查找两个字符串之间的差异位置?
在文本处理和字符串比较的任务中,有时我们需要查找两个字符串之间的差异位置,即找到它们在哪些位置上不同或不匹配。这种差异位置的查找在文本比较、版本控制、数据分析等场景中非常有用。本文将详细介绍如何在 Python 中实现这一功能,以便帮助你处理字符串差异分析的需求。
网络技术联盟站
2023/06/01
3.7K0
python列表中两个冒号_python字符串中的冒号
这里的i指起始位置,默认为0;j是终止位置,默认为len(a),在取出数组中的值时就会从数组下标i(包括)一直取到下标j(不包括j)
全栈程序员站长
2022/09/22
3.2K0
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
全栈程序员站长
2022/07/08
1.2K0
字符串提取
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
6660
Python求两个字符串最长公共子串算法
str_a = "liuke,test.ok" str_b = "liuke.test.yes" tmp = [] # 遍历:从最长的开始 for i in range(len(str_a), 0, -1): for j in range(len(str_a) + 1 - i): sub = str_a[j:j + i] # 得到子串,判断其是否在str_b中 if sub in str_b: tmp.append(sub) # 找到公共
流柯
2022/03/08
6500
Python判断字符串是否包含子字符串
Python如何判断一个字符串是否包含指定字符串?本文介绍Python判断一个字符串是否包含指定子串的4种方法。具有一定的借鉴价值。
全栈程序员站长
2022/09/06
2K0
Python判断字符串是否包含子字符串
[1019]python实现求两个字符串的最长公共子串方法
参考:https://www.jb51.net/article/144122.htm
周小董
2021/07/14
9580
Python连接两个字符串并去除首尾重复子串
代码功能:查找两个字符串的首尾重复部分最大长度,连接两个字符串,并去除两个字符串的首尾重复部分。例如,1234和2347这两个字符串,前面字符串的234子串和后面字符串的234字串重复,两个字符串连接成为12347。
Python小屋屋主
2019/03/06
2.3K0
Python连接两个字符串并去除首尾重复子串
467. 环绕字符串中唯一的子字符串
假设有一个连续字符串 abcd,则他的非空子串的数量为 abc + 4,也等于 ab + 3 + 4。
程序员小航
2022/06/09
1.1K0
467. 环绕字符串中唯一的子字符串
【说站】python字符串之间的运算
1、当Python中的两个字符串可以大于(等于)或小于(等于)时,比较的是与字符串相对应的Unicode编码,并逐个比较。
很酷的站长
2022/11/23
7800
【说站】python字符串之间的运算
python从字符串中提取数字
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124581.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/21
3.4K0

相似问题

Python -使用regex提取两个标记之间的子字符串。

25

提取两个子串之间的子串

03

提取两个指定子字符串之间的子串

21

提取两个字符之间的子字符串- python DataFrame

10

提取两个字符串之间的子字符串

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档