Google bigquery 如何从字符串中获取前两个单词?
我想从字符串中找出前两个单词 例如,下面这句话(字段名):Google bigquery 如何从字符串中获取前两个单词?,google-bigquery,Google Bigquery,我想从字符串中找出前两个单词 例如,下面这句话(字段名): 123445 我只想得到“一二” 我尝试了下面的代码,但它只给了我第一个单词 选择SUBSTR(名称,1,STRPOS(名称,) 我有没有办法得到我想要的结果?提前谢谢您可以使用REGEXP\u EXTRACT(句子,r'\w+\s+\w+) 比如说 #standardSQL WITH `project.dataset.table` AS ( SELECT 'One Two Three Four Five' sentence ) S
123445
我只想得到“一二”
我尝试了下面的代码,但它只给了我第一个单词
选择SUBSTR(名称,1,STRPOS(名称,)
我有没有办法得到我想要的结果?提前谢谢您可以使用
REGEXP\u EXTRACT(句子,r'\w+\s+\w+)
比如说
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'One Two Three Four Five' sentence
)
SELECT sentence, REGEXP_EXTRACT(sentence, r'\w+\s+\w+') AS first_two_words
FROM `project.dataset.table`
输出
Row sentence first_two_words
1 One Two Three Four Five One Two
也要考虑调整后的版本如下,如果你需要处理边缘情况时,只有一个词在句子
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'One Two Three Four Five' sentence UNION ALL
SELECT 'One'
)
SELECT sentence, REGEXP_EXTRACT(sentence, r'\w+(?:\s+\w+)?') AS first_two_words
FROM `project.dataset.table`
结果
Row sentence first_two_words
1 One Two Three Four Five One Two
2 One One
您可以阅读有关REGEXP\u EXTRACT的更多信息
另外,请注意:BigQuery使用库提供正则表达式支持;有关其正则表达式语法,请参阅该文档 嗨,米哈伊尔,你们有什么参考资料让我可以在BigQuery中学习REGEX,这也提供了一个例子吗?谢谢