JavaScript com Emoticons || Emojis

Estava eu de bobeira no tuinter(sic) hoje quando me deparo com esse twitter:

tweet sobre emojis com javascript usando replace fonte: https://twitter.com/alindeman/status/780177253066018816

Imagine minha mente internamente:

mente explodindo do pai do Cris em uma propaganda de desodorante

Aí continuei lendo os tweets da conversa quando me deparo com isso:

tweet mostrando o split e match do JavaScript usando emoticons

Confesso que a primeira coisa que fiz foi:

'👨‍❤️‍👨'.replace(/👨/, 'JS')
"JS‍❤️‍👨"

Claro que não ficou do jeito que eu queria porque errei a regex, o certo é assim:

'👨‍❤️‍👨'.replace(/👨$/, 'JS')
"👨‍❤️‍JS"

Pois o $ indica pegar a última ocorrência da linha, no caso do 👨

Aí pensei pow ali tem um exemplo mudando um casal de homens 👨‍❤️‍👨 para um casal de mulheres usando replace, mas e seu não sei qual o emoticon correto dessa mulher como eu poderia saber?

Claramente o segunto tweet demonstra como fazer isso, basta darmos um split par sabermos quais emoticons estão sendo usados pois esses de grupo são realemnte agrupamento de outros emoticons.

Bom aí fui eu no Google e entrei no primeiros link http://getemoji.com/ e fui pegar o emoticons necessários:

  • 👨‍❤️‍👨
  • 👩‍❤️‍👩

Para ir da forma mais simples usei asism:

'👨‍❤️‍👨'.match(/./ug)  
["👨", "‍", "❤", "️", "‍", "👨"]
'👩‍❤️‍👩'.match(/./ug)
["👩", "‍", "❤", "️", "‍", "👩"]

Agora ficou fácil né?

'👨‍❤️‍👨'.replace(/👨/, '👩')
"👩‍❤️‍👨"

Mas se eu quiser mudar os 2 homens para as 2 mulheres eu fiz:

'👨‍❤️‍👨'.replace(/👨/g, '👩')
"👩‍❤️‍👩"

Pois o g define que quero trocar todas as ocorrências de um para o outro.

Aí como bom sapeca que sou fui brincar com outro:

'👨‍👩‍👧‍👦'.match(/./ug)
["👨", "‍", "👩", "‍", "👧", "‍", "👦"]
'👨‍👩‍👧‍👦'.replace(/👨/g, '👩')
"👩‍👩‍👧‍👦"

Bom isso fo só uma zuerinha para ajudar a lembrar algumas coisas sobre regex e que no futuro ainda veremos muito mais emoticons/emojis em códigos, até porque como eu já digo há algum tempo e não só eu:

Até a próxima!

Fuiii

Comentários

comments powered by Disqus