python赢得了';不处理字符

python赢得了';不处理字符,python,json,character,Python,Json,Character,我正在编写一段代码,根据许多可能的不同标准搜索.json,其中包含收集卡片的所有魔法的数据 它工作得很好,只是每当卡片的文本中有“-”这样的字符时,我的代码就会完全忽略该文本。这是因为其文本字段为空 在代码中的某个时刻,卡片的文本被附加到一个列表中,可能这就是问题所在,因为我创建了一个简单的.py文件来测试不同的东西,我可以得到文本 for i in data: if data[i]["name"].find(" some name* ")!=-1: print dat

我正在编写一段代码,根据许多可能的不同标准搜索.json,其中包含收集卡片的所有魔法的数据

它工作得很好,只是每当卡片的文本中有“-”这样的字符时,我的代码就会完全忽略该文本。这是因为其文本字段为空

在代码中的某个时刻,卡片的文本被附加到一个列表中,可能这就是问题所在,因为我创建了一个简单的.py文件来测试不同的东西,我可以得到文本

for i in data:
    if data[i]["name"].find(" some name*  ")!=-1:
        print data[i]["text"]
这实际上是有效的。它完美地打印卡片的文本

但是,当我切换到

for i in data:
    if data[i]["name"].find("   some name*   ")!=-1:
        somelist.append(data[i]["text"]
print somelist
我会再次发现同样的问题。我将得到卡片上没有诸如“-”这样的字符的文本

编辑:这是python将忽略的文本示例:

"+3: Destroy target noncreature permanent.\n−2: Gain control of target creature.\n−9: Nicol Bolas, Planeswalker deals 7 damage to target player. That player discards seven cards, then sacrifices seven permanents."
这个–9应该翻译成“-”

另一个每次都被忽略的文本示例是:

"Target creature gets -1/-1 until end of turn.\nMorbid — That creature gets -13/-13 until end of turn instead if a creature died this turn."

你能准确地显示哪些文本没有追加吗?当您确定坏字符是ASCII
-
而不是Unicode字符时,您应该提供工作代码和显示该行为的最小数据集。