如何更改输入字符串中的多个字符?(python 3)

ze虫病

我正在尝试创建一个程序,用不同的字符或一段文字替换某些字符或一组字符。

我到目前为止所拥有的是

def changeWords(sentence):
    for char in sentence:
        if char == 'a':
            printSameLine('x')
        elif char == 'bd':
            printSameLine('y')
        else:
            printSameLine(char)

def goWordChange():
    print('')
    print('paste text to change')
    print('')
    text = input()
    print('')
    changeWords(text)
    print('')
    return goWordChange()

goWordChange()

如果输入,请输入“ abcd acbd”

输出将是

xbcd xcbd

但我希望它成为

xbcd xcy

我不太确定为什么可以代替“ a”而不是“ bc”。我怎样才能改变一个以上的角色?

(ps。我仍然是编程的初学者,所以请使用小写字母:))

or1426

您的代码无法处理替换多个字符的子字符串的原因是因为您的循环一次for char in sentence:循环一个字符要查看此内容print(char),请在代码中的该循环之后立即进行调用,看看是否char等于'bd'

python中的方便字符串具有一种称为的方法replace该方法返回新字符串,将所有出现的旧子字符串替换为新字符串。这使您不必担心循环遍历字符或成对的字符或其他任何内容(尽管尝试不花replace时间解决问题可能是一个很好的练习)。这是python解释器中的示例:

>>> string = "Hello World!"
>>> new_string = string.replace("o", "a")
>>> print(string)
Hello World!
>>> print(new_string)
Hella Warld!
>>> print(string.replace("Hello", "Goodbye"))
Goodbye World!

值得强调的是,replace 它不会更改初始字符串,它只会返回更改后的新字符串。

这可能适合您的程序:

def changeWords(sentence):
    temp_sentence = sentence.replace("a","x")
    temp_sentence = temp_sentence.replace("bd", "y")
    return temp_sentence

或更紧凑地说,您可以执行以下操作:

def changeWords(sentence):
    return sentence.replace("a","x").replace("bd", "y")

然后,您需要更改goWordChange为以下内容:

def goWordChange():
    print('')
    print('paste text to change')
    print('')
    text = input()
    print('')
    new_text=changeWords(text)
    print('')
    print(new_text)
    return goWordChange()

goWordChange在这种情况下,顺便说一句具有递归性(在结尾处调用自身)有点难看。我会摆脱那条线,goWordChange而在像这样的无限循环中被调用:

while True:
    goWordChange()

由于这种形式使事情变得更加明显,因此可能具有更好的性能(并且python限制了递归深度)。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

转换多个字符串值(Python 3)

来自分类Dev

如何在Python 3中比较两个字符串中的单个字符

来自分类Dev

在python3中的文件中替换多个字符串

来自分类Dev

如何使用Python 3中的几个字符串键创建随机字符串

来自分类Dev

使用Sublime 3在多个文件中搜索多个字符串

来自分类Dev

使用AND与Sublime 3在多个文件中搜索多个字符串

来自分类Dev

如何使用swift3从firebase数据库中存储具有多个字符串的对象

来自分类Dev

在re.search中使用OR运算符在python 3中查找多个字符串

来自分类Dev

在kibana3中的字段中查询多个字符串?

来自分类Dev

一次更改一个字符串中的字母(Pandas,Python3)

来自分类Dev

如何使用sed替换字符串中的后3个字符

来自分类Dev

在python 3中用子字符串替换单个字符

来自分类Dev

尝试在一行中 fscanf 多个值(3 个字符串 + 整数)

来自分类Dev

如何交替连接3个字符串

来自分类Dev

如何交替连接3个字符串

来自分类Dev

如何使用PyPDF2在Python 3中以单个字符串的形式从PDF检索所有页面

来自分类Dev

如何在字符串中每3个字符后插入一个连字符?

来自分类Dev

如何在Swift中检查3个字符串是否相等?

来自分类Dev

在字符串中每 3 个字符后插入一个字符

来自分类Dev

如何替换输入中的每个字符?(python3.x)

来自分类Dev

删除字符串的前3个字符

来自分类Dev

python3反复从字符串中删除第一个字符

来自分类Dev

python3正则表达式寻找1个或多个字符串

来自分类Dev

在Jinja2中每3个字符在字符串中添加空格

来自分类Dev

在Jinja2中每3个字符在字符串中添加空格

来自分类Dev

Python 3:检查一个字符串是否有另一个列表中的多个匹配项

来自分类Dev

检查 3 个字符串输入是否按字母顺序排列

来自分类Dev

Python3-字符串的最后一个字符

来自分类Dev

在PHP中每隔3个字符替换一次字符串

Related 相关文章

  1. 1

    转换多个字符串值(Python 3)

  2. 2

    如何在Python 3中比较两个字符串中的单个字符

  3. 3

    在python3中的文件中替换多个字符串

  4. 4

    如何使用Python 3中的几个字符串键创建随机字符串

  5. 5

    使用Sublime 3在多个文件中搜索多个字符串

  6. 6

    使用AND与Sublime 3在多个文件中搜索多个字符串

  7. 7

    如何使用swift3从firebase数据库中存储具有多个字符串的对象

  8. 8

    在re.search中使用OR运算符在python 3中查找多个字符串

  9. 9

    在kibana3中的字段中查询多个字符串?

  10. 10

    一次更改一个字符串中的字母(Pandas,Python3)

  11. 11

    如何使用sed替换字符串中的后3个字符

  12. 12

    在python 3中用子字符串替换单个字符

  13. 13

    尝试在一行中 fscanf 多个值(3 个字符串 + 整数)

  14. 14

    如何交替连接3个字符串

  15. 15

    如何交替连接3个字符串

  16. 16

    如何使用PyPDF2在Python 3中以单个字符串的形式从PDF检索所有页面

  17. 17

    如何在字符串中每3个字符后插入一个连字符?

  18. 18

    如何在Swift中检查3个字符串是否相等?

  19. 19

    在字符串中每 3 个字符后插入一个字符

  20. 20

    如何替换输入中的每个字符?(python3.x)

  21. 21

    删除字符串的前3个字符

  22. 22

    python3反复从字符串中删除第一个字符

  23. 23

    python3正则表达式寻找1个或多个字符串

  24. 24

    在Jinja2中每3个字符在字符串中添加空格

  25. 25

    在Jinja2中每3个字符在字符串中添加空格

  26. 26

    Python 3:检查一个字符串是否有另一个列表中的多个匹配项

  27. 27

    检查 3 个字符串输入是否按字母顺序排列

  28. 28

    Python3-字符串的最后一个字符

  29. 29

    在PHP中每隔3个字符替换一次字符串

热门标签

归档