【问题标题】:postgresql: regexp_split_to_table - how to split text by delimiterspostgresql:regexp_split_to_table - 如何通过分隔符分割文本
【发布时间】:2016-03-21 14:38:06
【问题描述】:

例如,我需要通过分隔符 '<=''=>' 将我的文本拆分到表格中

select regexp_split_to_table('kik plz <= p1 => and <= p2 => too. A say <=p1 =>','regexp');

结果必须是:

table:
--------------
1 | 'kik plz '
2 | '<= p1 =>'
3 | ' and '
4 | <= p2 =>
5 | ' too. A say '
6 | '<=p1 =>'

我认为答案在于位置模式,但我的技能还不够。

select regexp_split_to_table('kik plz <= p1 => and <= p2 => too. A say <=p1 =>', '((\s)(?=<=))|((\s)(?!=>))') 

这会返回错误的结果。

【问题讨论】:

  • 正确的例子'select regexp_split_to_table('kik plz and too. A say ','regexp');'

标签: regex postgresql regexp-replace


【解决方案1】:
select regexp_split_to_table(
    replace(
        replace('kik plz<= p1 =>and<= p2 =>too. A say <=p1 =>',  '<=',  E'\001<=')
    , '=>', E'=>\001')
, E'\001');

【讨论】:

    猜你喜欢
    • 2012-12-01
    • 2011-12-20
    • 2012-07-31
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    相关资源
    最近更新 更多