如何在Python字符串中替换括号和其中的文本

cooldood3490

我有两个这样的字符串。

string1 = "Today I went to the (market) to pick up some (fruit)."
string2 = "Today I went to (school) to learn (algebra) and science."

我想根据以下字典在两个字符串中删除并替换括号和括号内的文本。

word_dict = {'market': 'library', 'fruit': 'books', 'school': 'class', 'algebra': 'calculus'};

我希望新的字符串是:

string1 = "Today I went to the library to pick up some books."
string2 = "Today I went to class to learn calculus and science."

为此,我需要在括号内捕获文本,以便可以将其用作获取字典中值的键。然后,我需要用该值替换括号和文本。我在使用正则表达式以及如何执行此操作时遇到了麻烦。

马库斯·梅斯卡宁(Markus Meskanen)

您可以使用str.replace()

string1 = "Today I went to the (market) to pick up some (fruit)."
string2 = "Today I went to (school) to learn (algebra) and science."
word_dict = {'market': 'library', 'fruit': 'books', 'school': 'class', 'algebra': 'calculus'}

for word, translation in word_dict.items():  # Use word_dict.iteritems() for Python 2
    string1 = string1.replace('(' + word + ')', translation)
    string2 = string2.replace('(' + word + ')', translation)

你也可以使用str.format(),如果你能控制的初始字符串使用{},而不是()

string1 = "Today I went to the {market} to pick up some {fruit}."
string2 = "Today I went to {school} to learn {algebra} and science."
word_dict = {'market': 'library', 'fruit': 'books', 'school': 'class', 'algebra': 'calculus'}

string1 = string1.format(**word_dict)
string2 = string2.format(**word_dict)

如果你无法控制的初始输出,但想用str.format()反正,你可以替换的任何事件(,并){}

string1 = string1.replace('(', '{').replace(')', '}').format(**word_dict)
string2 = string2.replace('(', '{').replace(')', '}').format(**word_dict)

或以更简洁的方式执行此操作,可以str.translate()与一起使用str.maketrans()

trd = str.maketrans('()', '{}')
string1 = string1.translate(trd).format(**word_dict)
string2 = string2.translate(trd).format(**word_dict)

请记住,这将用大括号替换任何括号,即使它们没有包含要替换的单词也是如此。您可以rev_trd = str.maketrans('{}', '()')在格式化字符串后使用来反向翻译其余的花括号但通常到那时,最好还是使用for循环,str.replace()如第一部分代码所示。除非您可以将初始字符串更改为仅包含大括号,否则请使用该字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

替换字符串中的括号和方括号

来自分类Dev

sed->从字符串替换固定文本和括号

来自分类Dev

如何在JQuery中搜索和替换HTML文本字符串?

来自分类Dev

PHP:替换字符串中最后括号中的文本

来自分类Dev

如何在Python中替换字符串中的连字符和换行符

来自分类Dev

如何在python中连接字符串和变量并在其中赋值

来自分类Dev

如何在python中替换字符串开头和结尾的字符

来自分类Dev

如何在字符串中查找和替换'['?

来自分类Dev

如何在Python中的字符串中替换..

来自分类Dev

如何在 Python 中替换数组中的字符串?

来自分类Dev

如何在保留其他文本的同时删除字符串中括号内的文本?

来自分类Dev

如何在 Python 中多次替换和更新字符串?

来自分类Dev

如何在javascript中替换包含方括号的字符串?

来自分类Dev

如何删除或替换字符串中的括号?

来自分类Dev

替换字符串中的括号

来自分类Dev

如何删除Java字符串中的所有“()和其中的文本”

来自分类Dev

如何在整个文本中的两个字符之间替换字符串?

来自分类Dev

在使用Regex的python中,如何在带有闭括号字符的字符串之后插入字符串?

来自分类Dev

如何在C中替换文本文件中的字符串/短语

来自分类Dev

如何在MongoDB中替换拆分子字符串中的文本

来自分类Dev

如何在 perl 中搜索和替换字符串中的非字符?

来自分类Dev

如何从R中包含多个括号的字符串中删除/替换特定的括号

来自分类Dev

如何在PowerShell中循环,其中循环值是字符串和变量的组合

来自分类Dev

如何在字符串中爆炸括号?

来自分类Dev

如何在字符串数组中添加空括号

来自分类Dev

如何在NSURL字符串中包含花括号?

来自分类Dev

如何在方括号中绑定字符串?

来自分类Dev

如何在R中搜索带括号的字符串

来自分类Dev

在Python中搜索并替换字符串中的某些文本?

Related 相关文章

  1. 1

    替换字符串中的括号和方括号

  2. 2

    sed->从字符串替换固定文本和括号

  3. 3

    如何在JQuery中搜索和替换HTML文本字符串?

  4. 4

    PHP:替换字符串中最后括号中的文本

  5. 5

    如何在Python中替换字符串中的连字符和换行符

  6. 6

    如何在python中连接字符串和变量并在其中赋值

  7. 7

    如何在python中替换字符串开头和结尾的字符

  8. 8

    如何在字符串中查找和替换'['?

  9. 9

    如何在Python中的字符串中替换..

  10. 10

    如何在 Python 中替换数组中的字符串?

  11. 11

    如何在保留其他文本的同时删除字符串中括号内的文本?

  12. 12

    如何在 Python 中多次替换和更新字符串?

  13. 13

    如何在javascript中替换包含方括号的字符串?

  14. 14

    如何删除或替换字符串中的括号?

  15. 15

    替换字符串中的括号

  16. 16

    如何删除Java字符串中的所有“()和其中的文本”

  17. 17

    如何在整个文本中的两个字符之间替换字符串?

  18. 18

    在使用Regex的python中,如何在带有闭括号字符的字符串之后插入字符串?

  19. 19

    如何在C中替换文本文件中的字符串/短语

  20. 20

    如何在MongoDB中替换拆分子字符串中的文本

  21. 21

    如何在 perl 中搜索和替换字符串中的非字符?

  22. 22

    如何从R中包含多个括号的字符串中删除/替换特定的括号

  23. 23

    如何在PowerShell中循环,其中循环值是字符串和变量的组合

  24. 24

    如何在字符串中爆炸括号?

  25. 25

    如何在字符串数组中添加空括号

  26. 26

    如何在NSURL字符串中包含花括号?

  27. 27

    如何在方括号中绑定字符串?

  28. 28

    如何在R中搜索带括号的字符串

  29. 29

    在Python中搜索并替换字符串中的某些文本?

热门标签

归档