gpt4 book ai didi

python - 如何删除 python 中 R-T-L 字符串的最后一个字符?

转载 作者:太空狗 更新时间:2023-10-29 22:27:18 24 4
gpt4 key购买 nike

我正在尝试删除“从右到左”语言中字符串的最后一个字符。但是,当我这样做时,最后一个字符换行到字符串的开头。例如ותֵיהֶם]׃成为ותֵיהֶם]

我知道这是我如何处理 R-T-L 范式的一个基本问题,但如果有人可以帮助我思考它,我将非常感激。

代码

with open(r"file.txt","r") as f:
for line in f:
line = unicode(line,'utf-8')
the_text = line.split('\t')[1]
the_text.replace(u'\u05C3','')

最佳答案

Unicode 中的一些字符始终是 LTR,一些字符始终是 RTL,还有一些取决于它们周围的上下文。此外,双向文本的显示上下文将具有“主要”方向性(例如,为主要英语文本配置的文本编辑器将主要是 LTR 并且右边距参差不齐,为主要希伯来语配置的文本编辑器将主要是 RTL,具有参差不齐的左边距)。

看起来这里发生的事情是,当一个右方括号字符出现在两个 RTL 字符之间时,它以 RTL 形式呈现(您的第一个示例),但当它出现在 RTL 和 LTR 字符之间(或在字符串的末尾——基本上,在它两侧没有其他方向相同的字符的地方)然后它被认为是与主要方向匹配的任何一段文本的一部分。如果您尝试将鼠标拖到字符串上以选择字符,您将逻辑上看到结尾的 ] 仍然跟在 ֶם 之后,即使 < em>在视觉上它似乎已经移动了。

如果字符串中的倒数第二个字符也是希伯来字符(或其他强 RTL 字符)而不是 ],或者如果显示上下文主要是 RTL,那么它将出现在您期望的位置。

关于python - 如何删除 python 中 R-T-L 字符串的最后一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com