def decipher(self,string,keep_punct=False):
if not keep_punct: string = self.remove_punctuation(string)    <EOL>ind = range(len(string))<EOL>pos = self.buildfence(ind, self.key)<EOL>return '<STR_LIT>'.join(string[pos.index(i)] for i in ind)<EOL>
Decipher string using Railfence cipher according to initialised key.

        Example::

            plaintext = Railfence(3).decipher(ciphertext)     

        :param string: The string to decipher.
        :param keep_punct: if true, punctuation and spacing are retained. If false, it is all removed. Default is False. 
        :returns: The deciphered string.