替换文本的最有效方法是什么:) -> 😊。
所以,假设我有一个类似“你好 :) 我的名字是亚历克斯”的文本。我应该将文本转换为“你好😊我的名字是亚历克斯”
我在 lodash 实用程序库的帮助下解决了这个问题。
const replaceStringWithEmoji = (string) => {
const emojiMap = {
':)': '😊',
':(': '🙁',
':D': '😁',
';(': '😥',
':O': '😮',
';)': '😉',
'8)': '😎',
'>:@': '😡',
};
const emojis = [...Object.keys(emojiMap)];
return _.join(_.map(_.split(string, ' '), (s) => {
if (_.includes(emojis, s)) {
return emojiMap[s];
}
return s;
}), ' ');
};
必须有更好的方法来做到这一点。也许与正则表达式?
短期回报
return _.join(_.map(_.split(string, ' '), s => _.includes(emojis, s) ? emojiMap[s] : s), ' ');
RISEBY
四季花海
相关分类