You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PieCloudDB中统计2月推文hashtag并排除标点干扰?

解决方法

核心思路是清洗hashtag,去除末尾的标点符号,再进行统计。PieCloudDB兼容PostgreSQL语法,可通过正则表达式实现清洗,具体SQL如下:

WITH cleaned_hashtags AS (
    SELECT
        -- 提取并清洗hashtag:保留#开头,去除末尾的标点(.、!等非字母数字下划线字符)
        regexp_replace(
            unnest(regexp_matches(content, '#[A-Za-z0-9_]+[^\s]*', 'g')),
            '#([A-Za-z0-9_]+)[^\w]*$',
            '#\1',
            'g'
        ) AS hashtag
    FROM tweets
    -- 过滤2月的推文,假设created_at是日期时间类型
    WHERE EXTRACT(MONTH FROM created_at) = 2
)
SELECT
    hashtag,
    COUNT(*) AS occurrence_count
FROM cleaned_hashtags
GROUP BY hashtag
-- 按次数降序,名称升序排序
ORDER BY occurrence_count DESC, hashtag ASC;

关键部分说明

  • 提取hashtag:用regexp_matches(content, '#[A-Za-z0-9_]+[^\s]*', 'g')匹配所有以#开头、直到空白字符结束的内容,覆盖带末尾标点的情况。
  • 清洗标点:regexp_replace将末尾的非字母数字下划线字符(比如.、!)去掉,只保留#后面的有效标签内容。
  • 拆分多标签:unnest将单条推文里的多个hashtag拆成独立行,方便统计。

如果你的hashtag允许其他特殊字符(比如连字符),可以调整正则里的[A-Za-z0-9_]部分,比如改成[A-Za-z0-9_-]来包含连字符。

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 06:47:06