2016-01-12 16 views
6

Pracuję nad narzędziem do automatycznej koniugacji czasowników hiszpańskich. Za jednym razem obowiązuje akcentowanie ostatniej samogłoski.Jak mogę dodać akcenty do litery?

Podczas gdy mogę utworzyć mapę, aby uzyskać akcentowaną wersję litery, zastanawiałem się, czy istnieje czysty, pythonic sposób manipulowania znakami, aby dodać znaki diakrytyczne (myślę, że mam odpowiedni termin).

Na przykład:

fue -> fué 

presta -> prestá 

itp

+2

Istnieją znaki Unicode łączące, które można po prostu dodać do istniejącego znaku. Każde dobre odniesienie do Unicode powie Ci, jakie one są. –

+1

Link do tego, o czym mówi @MarkRansom: https://en.wikipedia.org/wiki/Combining_character Nadal byłoby miło zobaczyć poprawną odpowiedź z przykładowym kodem, chociażby – mastazi

+0

@MarkRansom, więc jak to zrobić w pythonie? – Pat

Odpowiedz

6

To zależy od kodowania, który chcesz użyć. Jeśli używasz kodowania łacińskiego, to mapa postaci jest do zrobienia. Jeśli używasz Unicode, może być przyjemniej używać combining characters; znak Unicode ostrym akcentem jest „\ u0301”, i chodzi po literze jesteś stosujące go:

In [40]: 'fue'+ u'\u0301' 
Out[40]: 'fué' 
+0

Dzięki. Nie wiedziałem, że to było tak proste, jak dodanie akcentu jako innej postaci. – Pat

+2

@ Należy zachować ostrożność, kod Unicode zawiera wiele znaków akcentujących. Potrzebujesz * kombinacji znaków *, którą jest [U + 0301] (http://www.fileformat.info/info/unicode/char/0301/index.htm). –

Powiązane problemy