看似简单的python截取文本问题,同事们都不会,最后高手巧妙解决

今天早早回到公司,一直想着昨晚自己遇到的一个小问题。现在有一个 sql 文本语句:

怎么提取第一个 select 里面用到的字段名,比如上面的结果应该是 a,b,c

传闻都说,高手都经常迟到。还没到上班时间,几个刚毕业的实习生看到我遇到的难题。他们跃跃欲试,其中一位女生就说,这题简单,我会。快速就写下了如下解法:

还真可以得到正确结果。不过,哪有这么简单的事情。我接着告诉她,还有这种情况:

这种情况,我只需要 x ,当然,这不应该难倒她,很快她给出答案:

看得出来她很喜欢 split ~!

当我给出下一个例子后,她终于投降了:

原来,sql 语句也可能在字段上套函数。上面的解法只是用逗号分隔,结果被函数中的逗号给搞混了。

此时已经好几个人围过来进行激烈讨论。没过多久,传说中那个"姗姗来迟的高手"终于回到公司。接下来看他表演了。


比 chat gpt 管用?

高手看了一下问题,有了前面"菜鸟"的教训,他马上意识到,这不是一个普通情况的问题,这根本就是一个针对 sql 的问题。二话不说,坐到自己的电脑前,快速敲了几下。当众人以为他在 chat gpt 那里问到结果的时候,他却说:“看,这不就找到一个专门解析 sql 的 python 库了吗”。

pip 安装一下,复制粘贴示例代码。

最后这个库也靠不住,就不贴 pip 了

好家伙,根本不符合要求!

原来,这个库还把别名单独解析出来:

替换一下,搞定

高手嘴角微微一笑,感觉胜券在握的时候,突然发现有一个测试案例失败了。

没想到,就这种简单嵌套查询,这个库就报错了。

此时,高手终于开始认真对待事情了。


正负得零

高手一语道破天机:"其实一开始用 split 的思路是可以的,但是你们太依赖内置的 split ,难道自己就不可以实现一个特殊情况的 split 吗?"

谁能想到,他打算自己实现 split。看看"高手"的解法:


很想知道,如果问 chat gpt,它能给出正确结果吗?

我还是觉得有其他的实现方式,你能想到吗?

不要忘记一键三连。你的点赞、收藏、关注,是我创作的动力。

展开阅读全文

页面更新:2024-03-11

标签:高手   解法   括号   逗号   计算器   语句   巧妙   函数   这不   文本   正确   事情   简单

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top