JavaScript ile Emojiler Nasıl Tespit Edilir?

Dizelerdeki Emojileri eşleştirmek için normal ifadeyi kullanın

Fotoğraf Pexels tarafından Pixabay'a yüklendi

Yakın zamanda derin bir sinir ağı kullanarak analiz etmek için geniş bir Twitter zaman çizelgesini filtreledim. Bildiğiniz gibi, tweet'ler emojiler de dahil olmak üzere farklı türde içerikler içerebilir. Dolayısıyla ilk adımlardan biri verileri temizlemek, bu durumda tüm ifadeleri zaman çizelgesinden kaldırmaktı.

Bu birçok şekilde yapılabilse de, basit ve hızlı olduğu için JavaScript ile nasıl yapıldığını göstereceğim, o yüzden başlayalım.

Bu yazının alt başlığından da tahmin edebileceğiniz gibi, bunu yapmak için normal ifadeler kullanacağız.

Modern tarayıcılar, emojileri Emoji Unicode kategorisine ait olmalarına göre eşleştirmenize izin veren Unicode özelliğini destekler. Örneğin, emoji karakterlerini eşleştirmek/eşleşmemek için Unicode özellik kaçışlarını \p{Emoji} kullanabilirsiniz . \P{Emoji} 0123456789#* ve diğer karakterlerin önceki Unicode kategorisi kullanılarak emoji olarak yorumlandığını unutmayın. Bu nedenle, bunu yapmanın daha iyi bir yolu, kategori {Extended_Pictographic}yerine tipik olarak emoji olarak anlaşılan tüm karakterleri belirten Unicode kategorisini kullanmaktır {Emoji} .

Hadi bazı örneklere bakalım.

Unicode karakterleri eşleştirmek için \p{} kullanın

“Emoji” Unicode kategorisini kullanırsanız, yanlış sonuçlar alabilirsiniz:

const withEmojis = /\p{Emoji}/u
withEmojis.test('😀');  
//true
withEmojis.test('ab');
//false
withEmojis.test('1');  
//true  opps!

      
Example 1

const withEmojis = /\p{Extended_Pictographic}/u
withEmojis.test('😀😀'); 
//true
withEmojis.test('ab');
//false
withEmojis.test('1');
//false

      
Example 2

const noEmojis = /\P{Extended_Pictographic}/u
noEmojis.test('😀'); 
//false
noEmojis.test('1212');
//false

      
Example 3

const withEmojis = /\p{Extended_Pictographic}/ug
const familyEmoji = '👨‍👩‍👧'
console.log(familyEmoji.length) 
//8
console.log(withEmojis.test(familyEmoji))
//true
console.log(familyEmoji.match(withEmojis))
//(3) ['👨', '👩', '👧']
familyEmoji.replaceAll(withEmojis,'*');
//*** opps!

      
Example 4

Son geçişler

Bu ve diğer nadir davranışlardan kaçınmak için Mathias bynen s'nin emoji-regex gibi kitaplıklarını kullanabilirsiniz . Bu kitaplık, Unicode Standardına göre tüm emoji sembollerini ve dizilerini (Emoji'nin metinsel temsilleri dahil) eşleştirmek için düzenli bir ifade sunar.

Umarım bu küçük makale sizin için faydalı olacaktır.

Referanslar

https://github.com/mathiasbynens/emoji-regex

Suggested posts

Alan Adları Hakkında Bilgi Bulma

Brian P. Hogan'ın Küçük, Keskin Yazılım Araçları'ndan bir alıntı

Alan Adları Hakkında Bilgi Bulma

facebook.com'a bir talepte bulunduğunuzda, bilgisayarınız o bağlantıyı kurabilmesi için bu alan adını bir IP adresine çevirmek üzere alan adını arar.

Kodsuz Devrim: Webflow, Framer, Bubble.io ile İş Refahını Ortaya Çıkarma,

Kodsuz Devrim: Webflow, Framer, Bubble.io ile İş Refahını Ortaya Çıkarma,

Bu şaşırtıcı kodsuz platformların kullanılmayan potansiyelinden yararlanırken heyecan verici bir yenilik ve başarı yolculuğuna çıkın. Dikkate değer bir kadın girişimci olan Sapna ile ilgili bir hikayeyi sizinle paylaşayım.

Related posts

Neden bazı serbest çalışanlar hayatlarını taklit ediyorlar?

Neden bazı serbest çalışanlar hayatlarını taklit ediyorlar?

Geçenlerde dünyanın en büyük profesyonel sosyal ağı olan Linkedin'deydim ve dikkatimi çeken, takip ettiğim serbest tasarımcıların gönderilerini buldum. Hepsi uçaklardan, dizüstü bilgisayarlarıyla sahilden, yüzme havuzlarından ve muhteşem manzaralı ofislerden fotoğraflar yayınladılar.

O Tehdit Arşivi: Cilt 7 Black Basta

O Tehdit Arşivi: Cilt 7 Black Basta

Günümüzün birbirine bağlı dünyasında, siber saldırı tehdidi her zamankinden daha yaygın. Siber suçlular ve ulus-devlet aktörleri sürekli olarak güvenlik açıklarından yararlanmaya ve değerli verileri çalmaya çalışarak her büyüklükteki kuruluş için önemli bir risk oluşturuyor.

Goodreads Okuma Yarışması Zehirlidir

Goodreads Okuma Yarışması Zehirlidir

Elimdeki kaşıntı, yerel kitapçıyla başka bir kitap için pazarlık yaparken yayıldı. Son zamanlarda satın aldığım diğerleri gibi bu kitap da tahtını 'Okunacak' (TBR) yığınımda bulacaktı; ve yine de satın aldım.

Artık parola yok — geçiş anahtarları parolanızın yerini nasıl alacak?

Artık parola yok — geçiş anahtarları parolanızın yerini nasıl alacak?

Belirsizliği önlemek için aşağıdaki terimler kullanılacaktır; Doğrulayıcı; Web sitesine giriş yapmak için kullanılan cep telefonu; Kullanıcının oturum açma isteği Hizmetini yapmak için kullandığı web sitesi veya uygulama; Verilen hizmeti sağlayan satıcı, örn.