0
Bigquery에서 설문 조사 웹 후크 데이터를 수신합니다. 현지 언어로 된 주석은 유니 코드 및 특수 문자로 캡처됩니다. 유니 코드를 현지 언어로 변환하고 특수 문자를 피하기 위해 정규 표현식을 사용하는 함수를 작성했습니다.ReGex for emoji - 유니 코드/BigQuery
#standardSQL
CREATE TEMP FUNCTION DecodeUnicode(s STRING) AS (
(SELECT CODE_POINTS_TO_STRING(ARRAY_AGG(CAST(CONCAT('0x', x) AS INT64)))
FROM UNNEST(SPLIT(s, '\\u')) AS x
WHERE x != ''
)
);
WITH NPSDashboard_Webhook_Data1_copy AS (
SELECT
TRIM(Comment) Comment
FROM
`radiant-micron-790.Sharmila_Testing.NPSDashboard_Webhook_Data1_copy`
)
,
uchars AS (
SELECT DISTINCT
c,
DecodeUnicode(c) uchar
FROM NPSDashboard_Webhook_Data1_copy,
UNNEST(REGEXP_EXTRACT_ALL(Comment, r'(\\u[abcdef0-9]{4})')) c
)
SELECT
Comment,
STRING_AGG(IFNULL(uchar, x), '' ORDER BY pos) Decoded
FROM (
SELECT
Comment,
pos,
SUBSTR(Comment,
SUM(CASE char WHEN '' THEN 1 ELSE 6 END)
OVER(PARTITION BY Comment ORDER BY pos) - CASE char WHEN '' THEN 0 ELSE 5
END,
CASE char WHEN '' THEN 1 ELSE 6 END) x,
uchar
FROM NPSDashboard_Webhook_Data1_copy,
UNNEST(REGEXP_EXTRACT_ALL(Comment, r'(\\u[abcdef0-9]{4})|.')) char WITH OFFSET AS pos
LEFT JOIN uchars u ON u.c = char
)
GROUP BY Comment
의 반환 오류 : - : 유효하지 않은 코드 포인트 난 그 "\ ud83c \ udf38"의 반환 오류를 발견 55,357
쿼리
실패 오류 이모티콘 반환 오류에서 "벚꽃"입니다. 이 문제를 해결하는 정규식 또는 변환기를 수행하는 방법?