python - 替换python中除N、n和空格之外的字符串中的所有元素

标签 python if-statement replace

我想用 # 替换字符串中除 N 和 n 之外的所有元素。这是我一直在工作的代码

test_str = ("BaNana")
for x in test_str:
    if x != "n" or x !="N":
        ari = test_str.replace(x, "#")
        print(ari)

我得到的输出是

    #aNana
    B#N#n#
    Ba#ana
    B#N#n#
    B#N#n#

我想要的输出是

    ##N#n#

最佳答案

您可以使用字符类[^Nn]以及前面的否定运算符^来替换每个字符除了 Nn 如下所示,

import re
regex = r"([^Nn])"
test_str = "BaNana"
subst = "#"
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)
if result:
    print (result)

输出

##N#n#

工作演示: https://rextester.com/NXW57388

关于python - 替换python中除N、n和空格之外的字符串中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59227098/

相关文章:

python - 在 Python 中对边列表进行排序

python - 带有重置功能的 Numpy 数组计数器

python - 将 Pandas 数据框中的值从字符串映射到 int(例如使用 Gender)

Java boolean 值未从 if 语句中传递出去

arrays - 如何从数组中生成单个随机项而不重复?

python - 你能跳到循环中的第 n 次迭代吗?

C++ If语句错误: expected ';' before '{' token

java - 使用扫描仪的 RPN 计算器,If/Else 语句不读取

regex - 如何通过第一个 "testing"或 "preview"搜索部分在 Vim 中有效地搜索和替换?

Java如何用字符串中的单个空格替换2个或多个空格并删除前导和尾随空格