我正在尝试将以下字符串拆分成行,这样每个单词都在自己的行中,但单个字符的单词除外(例如a,i):
"the quick brown fox jumps over a lazy dog"
这是我在SQL Fiddle中一直在搞乱的,但我无法得到正确的结果:
SELECT foo FROM regexp_split_to_table('the quick brown fox jumps over a lazy dog',
E'(\\s+)(?=\\w{2,})') AS foo;
结果:
the
quick
brown
fox
jumps
over a
lazy
dog
这几乎是正确的,但由于某种原因,a正在结合使用。我完全无视这一点。
我错过了什么小事?
答案 0 :(得分:1)
评论中已经提供了一个解决方案:
git log
然而,它没有考虑标点符号。因此,不是通过分隔符拆分字符串,而是使用select regexp_split_to_table('the quick brown fox jumps over a i lazy dog.', '\s+(\w\s+)*');
函数不能从中提取单词:
regexp_matches()