过滤具有特定字符的字符串列[关闭]

Posted

技术标签:

【中文标题】过滤具有特定字符的字符串列[关闭]【英文标题】:Filtering string column with specific character [closed] 【发布时间】:2021-04-18 10:34:36 【问题描述】:

我有一个这样的字符串列,想过滤“/”字符之间的内容:

A
9/17/001.a.x.y.16.04451
006.b.021017006814
2/17/000.c.m.n.15.00668/008

预期的输出是

A
001.a.x.y.16.04451
006.b.021017006814
000.c.m.n.15.00668

我怎么能用 python/R/Mysql

谢谢你

【问题讨论】:

什么是a.x.yc.m.n 等? 它们是随机字符 A-Z 或 0-9。哦,我忘记编辑输入时太糟糕了 @RonakShah 我刚刚编辑了我的问题。泰! 【参考方案1】:

mysql 中,可以使用regexp_replace():

select t.*,
       regexp_replace(a, '^[^/]+/[^/]+/([^/]*)[/|^]', '$1')
from t;

逻辑是,如果存在斜线之间的第三个组件,您似乎想要第三个组件。否则,您似乎想要整个字符串。

Here 是一个 dbfiddle。

【讨论】:

@SonPham 。 . .您是否有理由不接受此答案?

以上是关于过滤具有特定字符的字符串列[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

获取特定的字符串模式[关闭]

Pyspark:字符串列上的多个过滤器

如何检查 SQL Server 2008 表中字符串列中的 id

如何删除/替换字符串列中的一系列特殊字符? [关闭]

显示字符串列以特定字母开头的行[重复]

Python pandas 使用附加字符串列汇总数据框中的往返数据 [关闭]