python - 如何将变音符号向左移动一个字母
问题描述
我正在使用此正则表达式从字幕文件中删除阿拉伯变音符号,是否可以对其进行修改以将变音符号仅向左移动一个字母而不是删除它?我正在使用python 2.7。
file_content = re.sub(u'\u0651', '', file_content)
这是字幕文件中的原始行,变音符号位于正确位置
أنا لا أترصّد عبر الإنترنت
这就是我需要的样子
أنا لا أترصدّ عبر الإنترنت
我正在使用一个媒体播放器,由于某种原因将变音标记向右移动一个字母,因此在使用此媒体播放器时,为了将变音标记放在正确的位置,我需要将变音标记向左移动一个字母字幕文件。
解决方案
我不知道您的变音符号在 Unicode 中是如何工作的,但总的来说,您必须在字符串中进行以下类型的替换:
x' -> 'x
这很容易通过一次替换来完成:
file_content = re.sub('(.)([ًٌٍَُِّ])', r'\2\1', file_content)
当然,这假设您在字母之前/之后只有一个变音符号,并且变音符号每次都是单独的 Unicode 字符。
推荐阅读
- firebase - Storing and Converting MaterialColors
- javascript - How to copy multiple files using fs.copyFile node?
- angular - 单元测试If语句angular6
- google-apps-script - 在单元格函数中添加变量(工作表名称)
- c# - 显示具有昏暗背景的模态表单的更好方法是什么?
- git - git describe in html format (inside gitlab-ci)
- macos - 如何根据iterm2中的文件扩展名为ls着色?
- php - 如何识别在php范围内相交x次的日期?
- javascript - 如何创建一个模块来运行一些样板代码以保持我的代码库 DRY
- java - 模拟; 模拟调用 lambda 的方法,并验证该 lambda 调用的另一个模拟