引申为只包含2种字符的字符串,求其中一种字符出现位置
select CONCAT_WS(',',COLLECT_SET(cast(i1 as string)))
from(SELECT i1
,i2
FROM (
SELECT REGEXP_REPLACE(REGEXP_REPLACE('0111001110','0','0,'),'1','1,') aa
) a
LATERAL VIEW POSEXPLODE(SPLIT(aa,',')) t AS i1,i2
) g
where i2 = 1
结果
1,2,3,6,7,8