首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 3,在字符串中替换

Python 3,在字符串中替换
EN

Software Engineering用户
提问于 2012-05-10 20:11:02
回答 2查看 3.6K关注 0票数 1

我需要音译希伯来文。所以写了一个小Python脚本,在希伯来文文本中,从文本文件中,全局地用拉丁文取代希伯来字母。现在,我需要做一些微调(在某些位置替换某些东西,而不是在其他位置,这样全局替换就不能)。问题是:读入文本是一个字符串,所以我不能替换单个字符串元素。那么,最好的方法是什么呢?

EN

回答 2

Software Engineering用户

发布于 2012-05-10 22:57:33

将字符串转换为列表。要么是字母列表,要么是(如果这在您的情况下有效的话)单词列表。这是一种基本的方法,但如果您的字符串以书面顺序存储(而不是显示顺序),则应该可以工作。

代码语言:javascript
复制
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)
票数 1
EN

Software Engineering用户

发布于 2013-08-17 08:57:46

如果您需要将";“从”希伯来文W;rd“中删除,而不是编写列表并迭代它,只需找到替换字符并替换它。

如果从希伯来语到拉丁语的转换离开";“其中的"x”应该是,循环和替换字符。

代码语言:javascript
复制
while ";" in converted_string:
     converted_string = converted_string.replace(";","x")

如果有些";“在字符串中是合法的,那么在执行代码之前就需要条件来缩小要替换的坏字符。

代码语言:javascript
复制
while ";" in converted_string:
      if converted_string[converted_string.find(";")-1] != "z": # sample condition
           converted_string = converted_string.replace(";","x") 

真正的诀窍不是是使用列表还是字符串,而是把条件写得足够好,以便解析代码是准确的。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/148120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档