如何替换国家代码以在颤振中标记表情符号

Dom*_*omi 6 flutter

我有一个带有 json 格式的排序名称/国家代码的国家/地区列表,将在 flutter 中调用。有没有办法可以用他们的标志表情符号转换所有这些代码?

例如: "sortname": "PL" 将给出(如果你们能看到标志,idk)

{
	"sortname": "PL",
	"name": "Poland",
}, {
	"sortname": "PT",
	"name": "Portugal",
}, {
	"sortname": "PR",
	"name": "Puerto Rico",
}, {
	"sortname": "QA",
	"name": "Qatar",
}, {
	"sortname": "RE",
	"name": "Reunion",
}, {
	"sortname": "RO",
	"name": "Romania",
}, {
	"sortname": "RU",
	"name": "Russia",
},
Run Code Online (Sandbox Code Playgroud)

Spe*_*ill 17

这是我如何做到的:

String countryCode = 'us';
String flag = countryCode.toUpperCase().replaceAllMapped(RegExp(r'[A-Z]'),
     (match) => String.fromCharCode(match.group(0).codeUnitAt(0) + 127397));
print(flag);
Run Code Online (Sandbox Code Playgroud)
  1. .toUpperCase() 使所有字符大写
    • 我们 ?我们
  2. RegExp(r'[A-Z]') 用正则表达式选择每个字符
  3. .replaceAllMapped() 获取每个匹配的字符
  4. .codeUnitAt(0) 将每个字符转换为符文
    • 85
    • 83
  5. + 127397 添加 127387
    • 85 + 127397 = 127482
    • 83 + 127397 = 127480
  6. .fromCharCode() 将符文转换为字符串(标志表情符号)
    • + =

  • 太棒了,非常有帮助 (2认同)

小智 3

你可以尝试flutter_emoji 包