Skip to content

Instantly share code, notes, and snippets.

@samhann
Created August 6, 2016 09:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samhann/49da8cd4e4fc413c4a0051d9ec111640 to your computer and use it in GitHub Desktop.
Save samhann/49da8cd4e4fc413c4a0051d9ec111640 to your computer and use it in GitHub Desktop.
Emojifier
class Emojifier
{
var emojiMap : [ String : [String]] = [
"smile|happy|laugh" : ["๐Ÿ˜€","๐Ÿ˜","๐Ÿ˜ƒ","๐Ÿ˜„","๐Ÿ˜†","๐Ÿ˜Š","๐Ÿ™‚","๐Ÿ˜‡"],
"wink|kidding" : ["๐Ÿ˜‰"],
"tasty|yum|yummy|taste" : ["๐Ÿ˜‹"],
"cool" : ["๐Ÿ˜Ž"],
"love" : ["๐Ÿ˜","๐Ÿ˜˜"],
"kiss" : ["๐Ÿ˜—","๐Ÿ˜™"],
"Hug" : ["๐Ÿค—"],
"Think" : ["๐Ÿค”"],
"nothing" : ["๐Ÿ˜","๐Ÿ˜‘"],
"Whatever" : ["๐Ÿ™„"],
"Smirk" : ["๐Ÿ˜"],
"Persevere" : ["๐Ÿ˜ฃ"],
"shock" : ["๐Ÿ˜ฎ","๐Ÿ˜ณ"],
"muh band" : ["๐Ÿค"],
"surprise" : ["๐Ÿ˜ฏ"],
"tire" : ["๐Ÿ˜ช"],
"Sleep" : ["๐Ÿ˜ด"],
"Relief" : ["๐Ÿ˜Œ"],
"joking|kidding" : ["๐Ÿ˜œ"],
"LOL" : ["๐Ÿ˜"],
"Disappoint" : ["๐Ÿ˜’","๐Ÿ˜ž","๐Ÿ˜ฅ"],
"Sad" : ["๐Ÿ˜“"],
"Pensive" : ["๐Ÿ˜”"],
"Confused" : ["๐Ÿ˜•"],
"Upside-Down" : ["๐Ÿ™ƒ"],
"Money-Mouth" : ["๐Ÿค‘"],
"Astonished " : ["๐Ÿ˜ฒ"],
"Sick" : ["๐Ÿค’"],
"Confound " : ["๐Ÿ˜–"],
"Worry " : ["๐Ÿ˜Ÿ"],
"Cry" : ["๐Ÿ˜ข","๐Ÿ˜ญ"],
"Frown|sad" : ["๐Ÿ˜ฆ","๐Ÿ™"],
"Anguish " : ["๐Ÿ˜ง"],
"Fear " : ["๐Ÿ˜จ"],
"Frustrate" : ["๐Ÿ˜ฌ"],
"Scream" : ["๐Ÿ˜ฑ"],
"Angry" : ["๐Ÿ˜ก"],
"Skull" : ["๐Ÿ’€"],
"Ghost" : ["๐Ÿ‘ป"],
"Alien" : ["๐Ÿ‘ฝ"],
"Robot " : ["๐Ÿค–"],
"Boy" : ["๐Ÿ‘ฆ"],
"Girl" : ["๐Ÿ‘ง"],
"Man|guy" : ["๐Ÿ‘จ"],
"Woman|gal|girl" : ["๐Ÿ‘ฉ"],
"Baby" : ["๐Ÿ‘ถ"],
"Hair" : ["๐Ÿ‘ฑ"],
"Officer|police|security" : ["๐Ÿ‘ฎ"],
"Worker" : ["๐Ÿ‘ท"],
"Helmet" : ["โ›‘"],
"Princess" : ["๐Ÿ‘ธ"],
"Guard" : ["๐Ÿ’‚"],
"Spy" : ["๐Ÿ•ต"],
"Santa" : ["๐ŸŽ…"],
"Bride" : ["๐Ÿ‘ฐ"],
"Angel" : ["๐Ÿ‘ผ"],
"Massage" : ["๐Ÿ’†"],
"Pouting" : ["๐Ÿ™Ž"],
"Pedestrian" : ["๐Ÿšถ"],
"Runner" : ["๐Ÿƒ"],
"Family " : ["๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง"],
"Left" : ["๐Ÿ‘ˆ"],
"Right" : ["๐Ÿ‘‰"],
"Up" : ["๐Ÿ‘†"],
"Down" : ["๐Ÿ‘‡"],
"Hi" : ["๐Ÿ–","๐Ÿ‘‹"],
"Stop" : ["โœ‹"],
"OK" : ["๐Ÿ‘Œ"],
"Nope" : ["๐Ÿ‘Ž"],
"Clap|applause" : ["๐Ÿ‘"],
"Eye" : ["๐Ÿ‘€"],
"Tongue" : ["๐Ÿ‘…"],
"Mouth" : ["๐Ÿ‘„"],
"Mark" : ["๐Ÿ’‹"],
"Eyeglass" : ["๐Ÿ‘“"],
"Sunglass" : ["๐Ÿ•ถ"],
"Necktie" : ["๐Ÿ‘”"],
"T-Shirt" : ["๐Ÿ‘•"],
"Jean" : ["๐Ÿ‘–"],
"Dress" : ["๐Ÿ‘—"],
"Kimono" : ["๐Ÿ‘˜"],
"Bikini" : ["๐Ÿ‘™"],
"Cloth|Clothes" : ["๐Ÿ‘š"],
"Purse" : ["๐Ÿ‘›"],
"Handbag" : ["๐Ÿ‘œ"],
"Pouch" : ["๐Ÿ‘"],
"Satchel" : ["๐ŸŽ’"],
"Shoe" : ["๐Ÿ‘ž"],
"Sandal" : ["๐Ÿ‘ก"],
"Boot" : ["๐Ÿ‘ข"],
"Crown" : ["๐Ÿ‘‘"],
"Hat" : ["๐Ÿ‘’"],
"Cap" : ["๐ŸŽ“"],
"Ring" : ["๐Ÿ’"],
"Umbrella" : ["๐ŸŒ‚"],
"Briefcase" : ["๐Ÿ’ผ"]
]
func emojify(string : String) -> String
{
var final = string
let components = string.componentsSeparatedByString(" ")
for component in components {
if let emojiList = emojiMap[component.lowercaseString] {
final = final.stringByReplacingOccurrencesOfString(component, withString: emojiList.first ?? component, options: [.CaseInsensitiveSearch], range: final.startIndex..<final.endIndex)
}
}
return final
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment