我正在用Python 3.2编写一个程序,它需要能够检测字符串是否包含外来字符“å,ä,ö”。我写了以下代码:
# This Python file uses the following encoding: utf-8
name = input('Give your name: ')
if ('å' in name) or ('ä' in name) or ('ö' in name):
print('Foreign characters found')
但是,如果我输入“Åke”,程序仍然不执行print-command。为什么会出现这种情况?或者您对如何在给定字符串中检测字符“å,ä,ö”有任何其他想法?
答案 0 :(得分:1)
您现在只是检查这三个字符,虽然这不能回答您的问题,但这可能是检查外来字符的更好方法:
try:
name.encode('ascii')
except UnicodeError:
print('Foreign characters found')
注意:在python 2.7中测试过,但我认为它也应该在3.2中工作。