Python:替换重音符号(é 到 e)、删除 [^a-zA-Z\d\s] 和 lower() 的有效方法[重复]

2024-01-19

使用Python 3.3。我想做以下事情:

  • 替换特殊字母字符,例如 e 锐号 (é) 和 o 带有基本字符的扬抑符 (ô)(例如,从 ô 到 o)
  • 删除除字母数字和字母数字之间的空格之外的所有字符 人物
  • 转换为小写

这是我到目前为止所拥有的:

mystring_modified = mystring.replace('\u00E9', 'e').replace('\u00F4', 'o').lower()
alphnumspace = re.compile(r"[^a-zA-Z\d\s]")
mystring_modified = alphnumspace.sub('', mystring_modified)

我该如何改进这个?效率是一个大问题,特别是因为我目前正在循环内执行操作:

# Pseudocode
for mystring in myfile:
    mystring_modified = # operations described above
    mylist.append(mystring_modified)

相关文件每个大约有 200,000 个字符。


>>> import unicodedata
>>> s='éô'
>>> ''.join((c for c in unicodedata.normalize('NFD', s) if unicodedata.category(c) != 'Mn'))
'eo'

还请查看统一编码 https://pypi.python.org/pypi/Unidecode

Unicode 提供的是一条中间道路:函数 unidecode() 采用 Unicode 数据并尝试用 ASCII 字符表示它(即 0x00 和 0x7F 之间的通用可显示字符),其中 选择两个字符集之间的映射时采取的妥协 接近使用美国键盘的人会选择的内容。

生成的 ASCII 表示的质量各不相同。对于以下语言 西方血统应该是介于完美和优秀之间。在另一 手写音译(即,用罗马字母传达 由其他一些书写系统中的文本表达的发音) 像中文、日文或韩文这样的语言是一个非常复杂的问题 这个库甚至没有尝试解决这个问题。它画线在 上下文无关的逐字符映射。所以一个好的经验法则 是你音译的脚本来自拉丁语 字母表,音译就会越差。

请注意,该模块通常会比简单的模块产生更好的结果 从字符中去除重音符号(可以在Python中使用以下命令完成) 内置函数)。它基于手动调整的字符映射 例如还包含符号的 ASCII 近似值和 非拉丁字母。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:替换重音符号(é 到 e)、删除 [^a-zA-Z\d\s] 和 lower() 的有效方法[重复] 的相关文章

随机推荐

  • 如何在 pandas 中创建叠加条形图

    在更新我之前的一些代码以使用 pandas DataFrame 时 我遇到了以下问题 这是我的原始代码将创建的参考图 import pandas as pd import matplotlib pyplot as plt a range 1
  • 获取 CGEvent Tap 中按下的修改键

    设置事件点击后 我无法识别在给定 CGEvent 的情况下按下了哪个修饰键 CGEventFlags flagsP flagsP CGEventGetFlags event NSLog flags 0x llX flagsP NSLog s
  • 如何消除 php5 Strict 标准错误?

    将 PHP 升级到 5 4 3 WAMP 服务器 2 2 后 我用 CakePHP 1 3 制作的 Web 应用程序在索引中显示以下错误 严格标准 重新定义类的已定义构造函数 第 63 行 C cake cake libs object p
  • sql查询不打印

    我正在尝试运行动态查询 但由于某些奇怪的原因它没有运行 它甚至没有打印 请任何人告诉我为什么下面的动态查询不打印 DECLARE CLIENTPK NEW AS VARCHAR 50 DECLARE CGNEEPK AS VARCHAR 5
  • 弹簧动态注入,工厂化模式

    延续自依赖注入 延迟注入实践 https stackoverflow com questions 10384473 dependency injection delayed injection praxis 10414747 我有主课 pa
  • 如何在 Maven-3 下使用 MOXy 从 XSD 生成 Java?

    在 Maven 3 下使用 MOXy 从 XSD 生成 Java 的最简单 最好的方法是什么 参考 JAXB 接口有一个很好的 Maven 插件 但它似乎不支持 MOXy 有人有什么具体的可以提供吗 我知道我可以编写 ant 脚本 或者插件
  • 使用动态 SQL ALTER USER 查询预防 SQL 注入

    这是防止动态 sql alter user 查询中的 sql 注入的好方法吗 BEGIN z ident DBMS ASSERT ENQUOTE NAME ident z pass DBMS ASSERT ENQUOTE NAME pass
  • 如何将 jquery ui 小部件嵌入到polymer-dart web 组件中

    我尝试嵌入一个 jquery ui 小部件 例如将日期选择器集成到聚合物飞镖网络组件中 Web 组件的定义如下
  • 带引号的批处理路径

    如何检查路径是否有引号 如果没有则添加它 我知道我可以做这样的事情 set p path My path path 但我在引用时遇到问题 C My folder gt path gt C My folder gt Good 如果用户输入带引
  • GPUImage 色度键滤镜

    我正在尝试使用 GPUImage 框架的色键过滤器 我按照 Filtershowcase 示例进行操作 但显然我错过了一些东西 因为它只显示视频 但没有绿屏抠出效果 这是我对摄像机 滤镜的初始化 camera GPUImageStillCa
  • 检测多 SIM 设备中来电的目标 SimCard

    我读过很多帖子并尝试过很多解决方案 但所有帖子的共同点是它们都已经过时了 至少我找不到适用于较新版本的 Android 的解决方案 Post 1 https stackoverflow com a 21454296 6444297 结果 i
  • 以 DRY 方式扩展 SLICK 表

    我有一个关于 Slick Scala 的有趣问题 我希望你们中的一位好心人能够帮助我 我有几个表 并通过扩展在 SLICK 案例类中 case class A case class B case class C 共享这些共同领域 id St
  • 使用Jquery查找父div的id

    我有一些像这样的html div p Volume p div
  • Rails - 操作电缆上的服务器阻塞

    我有一个在开发中完美运行的 Rails 应用程序 我已部署到服务器 应用程序加载并正确显示其登陆和关于页面 但是 当我使用 Action Cable 访问页面时 服务器会阻塞 从网页发出的最后一个请求与 Action Cable 相关 并且
  • Android 中背景为 AnimationDrawable 的按钮状态

    我在 Android 中制作自定义按钮已经有一段时间了 事情很简单 只需为按钮状态制作图像资源并为其制作一个选择器 一切都很顺利而且美好 现在我遇到了新的情况 我制作了一个可绘制的动画并将其设置为按钮的背景
  • 如何在 Eclipse 编辑器插件中显示语法错误

    如何在 Eclipse 编辑器插件中指示语法错误 例如 非法的标记序列 就像在 Eclipse Java 编辑器中一样 即通过红色蠕动下划线 滚动条上可以跳转到的红色标记以及解释性消息您将鼠标悬停在其中一个上吗 我正在为自定义文件格式 特别
  • 当子属性更改时如何触发 NgComponent 的更新

    我是 AngularDart 和 Dart 的完全初学者 我遵循了教程 但我似乎找不到答案 我有两个可以完美工作的 NgComponents
  • ggplot2——自动放大geom_smooth(使用coord_cartesian)

    geom smooth很棒 很大程度上是因为它平均了很多变化 然而 正因为如此 当它缩小时 很难看出它在 x 轴上的变化 我正在制作大约 1000 个我需要的图表ggplot2放大通过coord cartesian 然而 每个图表都有不同的
  • 使用时间选择器设置时间

    有两个编辑文本 单击编辑文本时间选择器应该弹出 如何使用时间选择器选择日期并在两个编辑文本中设置日期 我已经用谷歌搜索了 timepicker 但我不知道如何在单击 edittext 时启动时间选择器并且 设置时间 XML
  • Python:替换重音符号(é 到 e)、删除 [^a-zA-Z\d\s] 和 lower() 的有效方法[重复]

    这个问题在这里已经有答案了 使用Python 3 3 我想做以下事情 替换特殊字母字符 例如 e 锐号 和 o 带有基本字符的扬抑符 例如 从 到 o 删除除字母数字和字母数字之间的空格之外的所有字符 人物 转换为小写 这是我到目前为止所拥