dat kan ook mooier, immers alle letters (exclusief letters met trema en accenten enzo) in de ASCII tabel zitten tussen bepaalde waarden, dus je kunt gewoon kijken of de ASCII waarde van een bepaald teken ook tussen die waarden ligt. Zo ja, dan is het een letter!
Een uitgebreide ASCII tabel vindt je o.a. op:
http://web-wise-wizard.com/web-lookup-lists/ascii-ibm-extended-character-set.html
en dan zie je:
codes 65 t/m 90 = A t/m Z (hoofdletters)
codes 97 t/m 122 = a t/m z (kleine letters)
codes 128 t/m 154 = Ç t/m Ü (allerlei trema's en accenten)
codes 160 t/m 165 = á t/m Ñ (allerlei trema's en accenten)
(die laatste twee ranges kun je ook wel aan elkaar koppelen tot een grote check want de tussenliggende characters worden bijna niet gebruikt, engelse ponden en gulden teken etc.)
Hoe je dat moet checken? In Java weet ik het zo ff niet precies maar in pseudo code:
code:
1
2
3
4
5
6
7
8
| String woord = ...
for (positie = 1; positie =< woord.length(); positie++)
{
letter = woord.charAt(positie) // mogelijk nog converten naar ASCII code?
if (letter < 65 || letter > 165 || (letter > 122 && letter < 128))
// verwijder character, met een remove, mid/right/left functie ofzo
} |
hmm dit gaat nog niet kloppen want als er een character weggehaald wordt dan slaat ie in feite een positie over (stel je haalt positie 2 weg, dan staat de positieteller op 3 in de volgende ronde maar het character van 3 is al naar 2 verschoven, dus die wordt niet meer gecheckt!)
AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!