我需要音译希伯来文。所以写了一个小Python脚本,在希伯来文文本中,从文本文件中,全局地用拉丁文取代希伯来字母。现在,我需要做一些微调(在某些位置替换某些东西,而不是在其他位置,这样全局替换就不能)。问题是:读入文本是一个字符串,所以我不能替换单个字符串元素。那么,最好的方法是什么呢?
发布于 2012-05-10 22:57:33
将字符串转换为列表。要么是字母列表,要么是(如果这在您的情况下有效的话)单词列表。这是一种基本的方法,但如果您的字符串以书面顺序存储(而不是显示顺序),则应该可以工作。
text_as_list = list(text_as_string)
replace_letters(text_as_list) # this is the bit you're implementing
text_as_string = "".join(text_as_list)发布于 2013-08-17 08:57:46
如果您需要将";“从”希伯来文W;rd“中删除,而不是编写列表并迭代它,只需找到替换字符并替换它。
如果从希伯来语到拉丁语的转换离开";“其中的"x”应该是,循环和替换字符。
while ";" in converted_string:
converted_string = converted_string.replace(";","x")如果有些";“在字符串中是合法的,那么在执行代码之前就需要条件来缩小要替换的坏字符。
while ";" in converted_string:
if converted_string[converted_string.find(";")-1] != "z": # sample condition
converted_string = converted_string.replace(";","x") 真正的诀窍不是是使用列表还是字符串,而是把条件写得足够好,以便解析代码是准确的。
https://softwareengineering.stackexchange.com/questions/148120
复制相似问题