X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=cipher.py;h=fdff17fc4e7c0c811253ef295c02d9791e7ec157;hb=62bbe4277e9676b9255ef98a33ba2ad3dbc0c7ed;hp=d738d8879c8e8a3c98fbc782c7a511a3a0fbf132;hpb=c9acecf59f93004d33c19b209535072dcf932977;p=cipher-tools.git diff --git a/cipher.py b/cipher.py index d738d88..fdff17f 100644 --- a/cipher.py +++ b/cipher.py @@ -43,6 +43,14 @@ for a in range(26): c = (a * b) % 26 modular_division_table[b][c] = a +def letters(text): + """Remove all non-alphabetic characters from a text + >>> letters('The Quick') + 'TheQuick' + >>> letters('The Quick BROWN fox jumped! over... the (9lazy) DOG') + 'TheQuickBROWNfoxjumpedoverthelazyDOG' + """ + return ''.join([c for c in text if c in string.ascii_letters]) def sanitise(text): """Remove all non-alphabetic characters and convert the text to lowercase @@ -52,8 +60,9 @@ def sanitise(text): >>> sanitise('The Quick BROWN fox jumped! over... the (9lazy) DOG') 'thequickbrownfoxjumpedoverthelazydog' """ - sanitised = [c.lower() for c in text if c in string.ascii_letters] - return ''.join(sanitised) + # sanitised = [c.lower() for c in text if c in string.ascii_letters] + # return ''.join(sanitised) + return letters(text).lower() def ngrams(text, n): """Returns all n-grams of a text