如何在Python中从字符串中提取表情符号和标志?

2023-12-30

import emoji

def emoji_lis(string):
_entities = []
for pos,c in enumerate(string):
    if c in emoji.UNICODE_EMOJI:
        print("Matched!!", c ,c.encode('ascii',"backslashreplace"))
        _entities.append({
            "location":pos,
            "emoji": c
            })
return _entities

emoji_lis("???????? مدیحہ????????  así, se ???? ds ????????")
  • 匹配!! ???? \U0001f467
  • 匹配!! ???? \U0001f3ff
  • 匹配!! ???? \U0001f60c
  • 匹配!! ???? \U0001f495
  • 匹配!! ???? \U0001f46d

我的代码适用于所有其他表情符号,但我如何检测国旗?????????


我认为没有任何图书馆可以做到这一点。然而,这可以通过一个函数来完成:

\U0001F1E6\U0001F1E8是第一个 unicode 标志并且\U0001F1FF\U0001F1FC是最后一个,所以几乎涵盖了所有这些。有3 more http://unicode.org/emoji/charts/full-emoji-list.html#subdivision-flag这会导致一些问题。

这是一个检查输入是否为标志的函数:

def is_flag_emoji(c):
    return "\U0001F1E6\U0001F1E8" <= c <= "\U0001F1FF\U0001F1FC" or c in ["\U0001F3F4\U000e0067\U000e0062\U000e0065\U000e006e\U000e0067\U000e007f", "\U0001F3F4\U000e0067\U000e0062\U000e0073\U000e0063\U000e0074\U000e007f", "\U0001F3F4\U000e0067\U000e0062\U000e0077\U000e006c\U000e0073\U000e007f"]

测试:

>>> is_flag_emoji('a')
False
>>> is_flag_emoji('????')
False
>>> is_flag_emoji("""????????""")
True

所以你可以相应地将 if 语句更改为if c in emoji.UNICODE_EMOJI or is_flag_emoji(c):.

但这有一个问题;由于很多标志是通过连接多个字符来制作的,因此您可能无法识别表情符号。

>>> s
'???????? here is more text ???????? and more'
>>>emoji_lis(s)
Matched!! ???? b'\\U0001f1fe'
Matched!! ???? b'\\U0001f1ea'
Matched!! ???? b'\\U0001f1e9'
[{'location': 0, 'emoji': '????'}, {'location': 1, 'emoji': '????'}, {'location': 22, 'emoji': '????'}]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中从字符串中提取表情符号和标志? 的相关文章

随机推荐

  • 在 Powershell 2 中声明第三方程序集类型的通用列表

    我正在尝试创建一个新的Collections Generic List类型的对象Amazon Cloudwatch Model Dimensions在 Powershell 2 0 中 我可以创建一个Amazon Cloudwatch Mo
  • 我什么时候应该使用 C++ 固定宽度整数类型以及它们如何影响性能?

    通常我想大多数人会使用int对于一切 他们偶尔会使用unsigned int需要的时候 有时你可能会使用short int 也许是为了网络流量什么的 但最近我开始使用std size t用于索引到 STL 容器 正如我应该的那样 然后我开始
  • 载波不渲染,路径存在但图像不显示

    我一直在尝试从载波渲染图片 我相信它已正确上传 因为当我查看页面源代码时 我看到 img alt Photo 44 src uploads user image 59 Photo 44 jpg 但是通过单击该 src url 我得到 No
  • 是否可以从主机程序执行单个 lua 语句?

    我正在尝试将基于 lua 的脚本系统嵌入到我的游戏引擎中 我希望脚本能够同时具有阻塞和非阻塞命令 例如 character walkTo 24 359 Blocks until character arrives c 35 Non bloc
  • GCC:为什么无法在 -std=c11 -Wall 下编译干净的 printf("%f\n", f16) ?

    示例代码 include
  • Eclipse Android 应用程序:使用真实证书签名运行

    有没有一种方法可以让运行按钮使用真正的签名证书而不是调试证书 我想避免在安装开发副本之前从模拟器中卸载 共享用户 应用程序 我已经知道我可以导出签名副本 但我更喜欢自动构建签名副本 在模拟器上运行 我假设您正在使用 Eclipse 首先 通
  • 通过powershell获取IIS日志位置?

    我正在编写一个脚本 希望能够在 IIS 服务器之间轻松移动以分析日志 但这些服务器将日志存储在不同的位置 一些在 C 一些在 D 一些在 W3SVC1 中 一些在 W3SVC3 中 我希望能够让 powershell 自行查找此信息 而不必
  • 从整数序列生成表达式文字列表

    我想将整数序列映射到表达式文字序列 以便将后者用作图中的刻度线标签 例如 lbls lt lapply 2 2 function i expression i pi plot axis 1 at seq 2 2 pi labels lbls
  • Apache Spark 中的驱动程序何时不会运行某个操作?

    我刚刚开始使用 Spark 并且在任务的概念上遇到了困难 任何人都可以帮助我理解何时某个操作 例如减少 不在驱动程序中运行 从火花教程中 使用函数 func 聚合数据集的元素 其中 接受两个参数并返回一个 该函数应该是 具有交换性和结合性
  • 使用 SqlCe 和 EntityFramework 进行插入和更新的语法

    VS 2008 SqlCe 3 5 我正在尝试学习 EntityFramework 但无法让基本的插入和更新工作 当我包含 SqlCe 数据库 sdf 时 向导会创建 Test edmx designer vb 文件 由此我创建了我的数据上
  • jquery.tokeninput 必需

    我有这个很棒的小插件正在运行 但我需要要求至少选择一个名称 我通常使用jquery validate 但是 验证插件似乎不适用于使用 tokeninput 的字段 有人有答案吗 一如既往 非常感谢您的帮助 NewMessage valida
  • 处理 std::thread::hardware_concurrency()

    In my question https stackoverflow com questions 27887654 synchronise push back and stdthread about std thread 我被建议使用std
  • lucene 4.0 快照中缺少的功能

    我正在尝试使用 lucene 4 0 快照版本 但是此版本中缺少 StandardAnalyzer 有人知道如何替换它吗 在给出的示例代码中Lucene总结 http search lucene com jd lucene org apac
  • C# 低级鼠标钩子和表单事件处理

    我正在使用 VS 2010 生成的简单表单 其中包含 2 个按钮 开始和停止 Start 使用 SetWindowsHookEx 触发 WH MOUSE LL stop 停止钩子 挂钩工作正常 我设法用双击 替换 鼠标中键单击 我遇到的唯一
  • 反应悬念/懒惰延迟?

    我正在尝试使用新的 React Lazy 和 Suspense 来创建后备加载组件 这效果很好 但回退只显示几毫秒 有没有办法添加额外的延迟或最短时间 以便我可以在渲染下一个组件之前显示此组件的动画 现在懒惰导入 const Home la
  • Symfony 1.4:使用 SetAttribute 在会话中存储数组

    我想知道是否有人知道如何将数组存储到用户会话中 这是存储单个属性的方法 this gt getUser gt setAttribute something something 文档说 用户属性可以存储任何类型的数据 字符串 数组和关联数组
  • MVC 4 bool 的自定义模板(剃刀)

    我正在使用 twitter bootstrap 框架 因此为了让 EditorFor 和 DisplayFor 方法输出我需要的内容 我为字符串 文本 密码等每种类型创建了自定义模板 对于我的登录页面 我想要一个 RememberMe bo
  • C# - 比较两个 SecureString 是否相等

    我有一个带有两个密码框的 WPF 应用程序 一个用于密码 另一个用于第二次输入密码以进行确认 我本来想用PasswordBox SecurePassword得到SecureString的密码 但我需要能够比较两个密码框的内容 以确保在接受密
  • CSS如何设置div高度100%减去nPx [重复]

    这个问题在这里已经有答案了 我有一个包装 div 其中包含 2 个彼此相邻的 div 在这个容器上方 我有一个包含我的标题的 div 包装器 div 必须是 100 减去标头的高度 标题大约为 60 像素 这是固定的 所以我的问题是 如何将
  • 如何在Python中从字符串中提取表情符号和标志?

    import emoji def emoji lis string entities for pos c in enumerate string if c in emoji UNICODE EMOJI print Matched c c e