特殊なアルファベット文字の置換


特殊なアルファベット文字を使った外国人名を一般的なアルファベットに置き換えたいと思っています。例えばBjörn BorgをBjorn Borgに、Emily
Brontëに、というようにです。

このようなコードを書きました。

[code]

    import re
    specials = "ëö"
    name = input()
    for i in name:
        if i == specials:
            name = name.replace('ë', 'e').replace('ö', 'o')
        else:
            break
    print(name)
    
[/code]

その結果、エラーメッセージは出ないのですが、名前は元のままです。どのように改善すれば良いでしょうか。よろしくお願いいたします。




「特殊な文字か」はあまり関係がなく、かつ `for` ループの処理が不要な気がします。

恐らく置換対象の文字を含むかを事前にチェックしつつ処理しようとしているのかと思われますが、`replace` 等は置換対象の文字を含まなければそのまま
"何もしない" だけので、素直に呼び出すだけで済みそうです。

[code]

    import re
    name = input()
    name = name.replace('ë', 'e').replace('ö', 'o')
    print(name)
    
[/code]




「特殊な文字か」はあまり関係がなく、かつ `for` ループの処理が不要な気がします。

恐らく置換対象の文字を含むかを事前にチェックしつつ処理しようとしているのかと思われますが、`replace` 等は置換対象の文字を含まなければそのまま
"何もしない" だけので、素直に呼び出すだけで済みそうです。

[code]

    import re
    name = input()
    name = name.replace('ë', 'e').replace('ö', 'o')
    print(name)
    
[/code]

