Skip to content

Instantly share code, notes, and snippets.

@lorenzOliveto
Created June 26, 2019 10:32
Show Gist options
  • Save lorenzOliveto/f20a89e9f68276cae21497a177ad8a4c to your computer and use it in GitHub Desktop.
Save lorenzOliveto/f20a89e9f68276cae21497a177ad8a4c to your computer and use it in GitHub Desktop.
Class that converts smiles in emoji (based on this npm package https://www.npmjs.com/package/smile2emoji)
//
// Smile2Emoji.swift
// Smile2Emoji
//
// Created by Lorenzo Oliveto on 26/06/2019.
// Copyright Β© 2019 Lorenzo Oliveto. All rights reserved.
//
class Smile2Emoji {
static func convertText(text: String) -> String {
let words = text.split(separator: " ").map(String.init)
var newText: [String] = []
let emojiMap = Smile2Emoji.emojiMap()
words.forEach { (s) in
if let emoji = emojiMap[s] {
newText.append(emoji)
} else {
newText.append(s)
}
}
return newText.joined(separator: " ")
}
static func emojiMap() -> [String: String]{
return ["o/": "πŸ‘‹",
"</3": "πŸ’”",
"<3": "πŸ’—",
"8-D": "😁",
"8D": "😁",
":-D": "😁",
":-3": "😁",
":3": "😁",
":D": "😁",
"B^D": "😁",
"X-D": "😁",
"XD": "😁",
"x-D": "😁",
"xD": "😁",
":\")": "πŸ˜‚",
":\"-)": "πŸ˜‚",
":-))": "πŸ˜ƒ",
"8)": "πŸ˜„",
":)": "😊",
":-)": "πŸ˜„",
":]": "πŸ˜„",
":^)": "πŸ˜„",
":c)": "πŸ˜„",
":o)": "πŸ˜„",
":}": "πŸ˜„",
":っ)": "πŸ˜„",
"0:)": "πŸ˜‡",
"0:-)": "πŸ˜‡",
"0:-3": "πŸ˜‡",
"0:3": "πŸ˜‡",
"0;^)": "πŸ˜‡",
"O:-)": "πŸ˜‡",
"3:)": "😈",
"3:-)": "😈",
"}:)": "😈",
"}:-)": "😈",
"*)": "πŸ˜‰",
"*-)": "πŸ˜‰",
":-,": "πŸ˜‰",
";)": "πŸ˜‰",
";-)": "πŸ˜‰",
";-]": "πŸ˜‰",
";D": "πŸ˜‰",
";]": "πŸ˜‰",
";^)": "πŸ˜‰",
":-|": "😐",
":|": "😐",
":(": "πŸ˜’",
":-(": "πŸ˜’",
":-<": "πŸ˜’",
":-[": "πŸ˜’",
":-c": "πŸ˜’",
":<": "πŸ˜’",
":[": "πŸ˜’",
":c": "πŸ˜’",
":{": "πŸ˜’",
":っC": "πŸ˜’",
"%)": "πŸ˜–",
"%-)": "πŸ˜–",
":-P": "😜",
":-b": "😜",
":-p": "😜",
":-Þ": "😜",
":-þ": "😜",
":P": "😜",
":b": "😜",
":p": "😜",
":Þ": "😜",
":þ": "😜",
";(": "😜",
"X-P": "😜",
"XP": "😜",
"d:": "😜",
"x-p": "😜",
"xp": "😜",
":-||": "😠",
":@": "😠",
":-.": "😑",
":-/": "😑",
":/": "😑",
":L": "😑",
":S": "😑",
":\\": "😑",
":\"(": "😒",
":\"-(": "😒",
"^5": "😀",
"^<_<": "😀",
"o/\\o": "😀",
"|-O": "😫",
"|;-)": "😫",
":###..": "😰",
":-###..": "😰",
"D-\":": "😱",
"D8": "😱",
"D:": "😱",
"D:<": "😱",
"D;": "😱",
"DX": "😱",
"v.v": "😱",
"8-0": "😲",
":-O": "😲",
":-o": "😲",
":O": "😲",
":o": "😲",
"O-O": "😲",
"O_O": "😲",
"O_o": "😲",
"o-o": "😲",
"o_O": "😲",
"o_o": "😲",
":$": "😳",
"#-)": "😡",
":#": "😢",
":&": "😢",
":-#": "😢",
":-&": "😢",
":-X": "😢",
":X": "😢",
":-J": "😼",
":*": "😽",
":^*": "😽",
"ΰ² _ΰ² ": "πŸ™…",
"*\\0/*": "πŸ™†",
"\\o/": "πŸ™†",
":>": "πŸ˜„",
">.<": "😑",
">:(": "😠",
">:)": "😈",
">:-)": "😈",
">:/": "😑",
">:O": "😲",
">:P": "😜",
">:[": "πŸ˜’",
">:\\": "😑",
">;)": "😈",
">_>^": "😀",
"^^": "😊",
":sweat": "πŸ˜…"]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment