Как можно удалить все символы UTF8 длиной более 3 байтов?
Я хочу поддерживать только UTF8mb3
Вы можете перебирать и копировать только те руны, размер которых меньше 4 байт:
out:=make([]rune, 0, len(str))
for i:=0;i<len(str); {
r, n:=utf8.DecodeRune(str[i:])
if n<4 {
out=append(out,r)
}
i+=n
}
result:=string(out)