当前位置: 首页 > 面试题库 >

字符串替换似乎不起作用

黄意智
2023-03-14
问题内容

我最初尝试使用=运算符分配值,但返回了错误,然后尝试使用 string.replace()

encrypted_str.replace(encrypted_str[j], dec_str2[k], 2)

encrypted_str.replace(encrypted_str[j], unichr(ord(dec_str2[k]) - 32), 2)

但是它正在返回原始价值。

提供有关如何正确使用替换API以获得正确结果的帮助。还有其他任何可用的API可以代替 unichr()

encrypted_str正在从用户采取的encrypted_str = raw_input()
dec_str2是由用户的频率串被输入。这个问题几乎不涉及我想知道我是否使用了replcae()错误的API变量,因为它为我提供了不变的输出,encrypted_str
我们是否可以使用encrypted_str[j] 从字符串中返回一个字符
定义replace()API的子字符串。我使用encrypted_str.replace(encrypted_str[j], unichr(ord(dec_str2[k]) - 32), 1) 最大替换1而不是2 (因为我只需要一个替换)。

我需要完成的实际操作将在C中进行,如下所示: encrypted_str[j] = dec_str2[k] -32

由于我是python的新手,所以我正在尝试寻找替代品。


问题答案:

Python中的字符串是不可变的。这意味着给定的字符串对象在创建后将永远不会改变其值。这就是为什么像这样的元素分配some_str[4] = "x"会引发异常。

由于类似的原因,str该类提供的任何方法都不能使字符串发生突变。因此,该str.replace方法无法按照我认为的方式工作。而不是就地修改字符串,它返回带有请求的替换的新字符串。

尝试:

encrypted_str = encrypted_str.replace(encrypted_str[j], dec_str2[k], 2)

如果要进行很多这样的替换,将字符串转换为字符列表,一个接一个地进行修改,然后str.join在完成后使用该列表再次将其转换为字符串可能是有意义的。



 类似资料:
  • 我正在建立一个maven原型。文件名替换也正常工作。例如,我有一个名为artifactd-log4j.xml的文件,当生成该文件时,将被替换。但是,其中一个xml文件(引用它的spring上下文文件)没有被替换: 由于某种原因,xml文件中的标记${artifactId}从未被替换。我的原型-metadata.xml spring-file在src/main/resources下,既然fileSe

  • 我正在尝试创建一个带有[秘密]标签的BB代码。BB代码根据用户级别“修订”文本。然而,我有一个问题,让它正常工作。 我目前的代码是: 它为用户控制杆输出: 这大部分是正确的,但是,它改变了BB标签和其他不应该被编辑的东西。 我已经移动了preg_替换和str_替换的顺序,只是无法使其正常工作。

  • 我的代码看起来像 我的文件如下所示 当我运行程序时,我看到 我怎样才能修好它呢?

  • 问题内容: 我在使用该功能时遇到了麻烦。 我只需要知道SQL查询是否返回零行。 我已经尝试过以下简单的语句: 类型是哪里。上面的代码似乎不起作用。无论是否为空,它将始终打印该消息。 我检查了SQL查询本身,当存在行时它正确返回了非空结果。 关于如何确定查询是否已返回0行的任何想法?我用谷歌搜索,找不到任何答案。 问题答案: ResultSet.getFetchSize()不返回结果数!从这里: 使

  • 问题内容: 月格式说明符似乎不起作用。 现在,根据手册,手册: %m =月,十进制数[01,12]。 那么,除了我试图理解我的django __filter查询为什么什么都不返回(输入的日期无效!)的原因之外,我还缺少什么呢?我已经尝试了,但无济于事。 事物,平台,架构等的版本: 问题答案: 您不能将它们与其他格式的代码混合使用,因为如果您在表中查看的话,所链接的%j是十进制数字[001,366]

  • 问题内容: 我有一个以字符串形式传递的句子,我正在对单词“ and”进行替换,我想用“”替换它。而且它不是用空格替换“和”一词。以下是我的逻辑示例。而当我调试此逻辑时,逻辑确实落入了句子。 这里有我想念的东西吗? 问题答案: 而当我调试此逻辑时,逻辑确实落入了句子。 是的,然后你放弃返回值。 Java中的字符串是不可变的-当你调用时,它不会更改现有字符串的内容-它会返回经过修改的新字符串。所以你要