【发布时间】:2015-08-17 16:46:18
【问题描述】:
我需要选择字符串中的前 X 个单词,其中 x 可以是 0-100 之间的任何数字。是否有捷径可寻?我发现以下示例从字符串中选择前 2 个单词:
select regexp_replace('Hello world this is a test', '(\w+ \w+).*$','\1') as first_two
from dual
如何从字符串中选择前 X 个单词,其中 X 可以是 0-100 之间的数字?
【问题讨论】:
-
你需要什么形式的结果?作为一个字符串?还是每个单词一列?还是一个字一行?
-
作为单个字符串。 Rene 下面的解决方案有效,只是我有一些字符串之间有两个空格,并且在这些字符串上失败了。这不是他的错,因为我没有提到。
-
@Robert Smith:我已经更新了我的答案,以便它可以在单词之间使用两个(或更多)空格。
标签: oracle regexp-replace regexp-substr