【问题标题】:Mysql trailing trim regex cut stringMysql尾随修剪正则表达式剪切字符串
【发布时间】:2023-03-31 12:03:01
【问题描述】:

我有行

blablabla-blabla-bla-code1236

blablabla-blabla-bla-code23

尝试在 -code 之后删除所有内容

从 mytable 中选择 TRIM(TRAILING '-code*' FROM mycol);

我应该在 -code 之后添加什么以匹配所有 -code* 变体。谢谢

另一个例子:

blabla-blasomestufftext-bla-code1234

当我从 mytable 中选择 TRIM(TRAILING '-code1234' FROM mycol);

它返回我需要的东西 blabla-blasomestufftext-bla

【问题讨论】:

  • blablabla-xxx-bla-code1236 变为 blablabla-xxx-bla
  • code后面会不会只有数字?

标签: mysql regex trim trailing


【解决方案1】:
-code[0-9]+

这应该对你的事业有用。

-code.*

如果除了数字之外还有其他的东西。

【讨论】:

  • 从 mytable 中选择 TRIM(TRAILING '-code.*' FROM mycol);返回整个字符串,遇到-code***时不剪切
  • 相同,没有变化。返回不变的字符串
  • @DmitriyK 可能你申请的方式不正确。
【解决方案2】:

我经常使用的这个技巧应该有效。 如果您在字符串中间搜索某些内容,您可以使用固定子字符串作为分隔符拆分字符串,并从左侧部分开始第一次出现。

从 mytable 中选择 SUBSTRING_INDEX(mycol,'-code',1)

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多