如何反转包含复杂表情符号的字符串? [英] How to reverse a string that contains complicated emojis?
本文介绍了如何反转包含复杂表情符号的字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
输入:
Hello world👩🦰👩👩👦👦
所需输出:
👩👩👦👦👩🦰dlrow olleH
我尝试了几种方法,但都没有给出正确的答案。
此操作失败得很惨:
数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">const text = 'Hello world👩🦰👩👩👦👦';
const reversed = text.split('').reverse().join('');
console.log(reversed);
这有点用,但它将👩👩👦👦
分解为4个不同的表情符号:
const text = 'Hello world👩🦰👩👩👦👦';
const reversed = [...text].reverse().join('');
console.log(reversed);
我也尝试了this question中的所有答案,但都不起作用。
有没有办法获得所需的输出?
推荐答案
如果可以,请使用lodash提供的_.split()
函数。从version 4.0开始,_.split()
能够拆分Unicode表情符号。
使用本机.reverse().join('')
反转‘字符’应该可以很好地处理包含零角连接符的emoji
function reverse(txt) { return _.split(txt, '').reverse().join(''); }
const text = 'Hello world👩🦰👩👩👦👦';
console.log(reverse(text));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.20/lodash.min.js" integrity="sha512-90vH1Z83AJY9DmlWa8WkjkV79yfS2n2Oxhsi2dZbIv0nC4E6m5AbH8Nh156kkM7JePmqD6tcZsfad1ueoaovww==" crossorigin="anonymous"></script>
这篇关于如何反转包含复杂表情符号的字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!