1

您好,我有一个包含竖线 (|) 符号的文本,我想用空格替换它。这是列描述中的文本

|TrueCricketLover|百万欧元$$!| PTI|摩羯座|没有 DM|#TeamIK|@shaneRWatson33 ❤ Boom Boom❤ 努力成为一个更好的人!

我试过这样的 regexp_replace 函数

regexp_replace(description,'|',' ')

此命令返回此值

| 真正的佝偻病L over | 百万欧元!| PTI | C 杏子 | 没有 DM | # 团队 IK | @shane RW atson 3 3 ❤ Boom Boom ❤ S trivingtobeabetterhum an !L ovehimwholeast 值得我 , 坐下 ❤

它不会替换管道 (|) 符号。请帮忙。

4

3 回答 3

8

试试这个: select regexp_replace(description,'\\|',' ') from table;

于 2016-02-24T10:38:46.120 回答
3

Since a pipe character is an OR operator in regex in must be escaped. In Java flavored regex, two escape characters, back slashes, must be used.

于 2016-02-25T03:36:40.897 回答
0

试试这个在你的 regexp_replace 函数中添加 \

insert overwrite table_name select regexp_replace(id,'\\|',' ') from table_name

于 2016-02-25T05:22:37.163 回答