You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.8 KiB

Stitch

Stitch receives as input a text as a string type, and replaces all the occurrences of a target word, with a character or a word that is repeated as many times as the length of the target.

In [1]:
from nltk.tokenize import word_tokenize
In [2]:
# text, target, and replacement are string types
def stich(text, target, replacement):
    target = target.lower()
    txt = word_tokenize(text)
    new = []
    
    for w in txt:
        if w == target:
            w = len(w)*replacement
            new = new + [w]
        elif w == target[0].upper() + target[1:]:
            w = len(w)*replacement
            new = new + [w]
        elif w== target.upper():
            w = len(w)*replacement 
            new = new + [w]
        else:
            new = new + [w]
    text = ' '.join(new)
    final= text.replace(' .','.').replace(' ,',',').replace(' :',':').replace(' ;',';').replace('< ','<').replace(' >','>').replace(' / ','/').replace('& ','&')
    return final

This function in itself could be understood as a filter to process and alter texts. By targeting specific words and stitching them, with a character or a word that is repeated as many times as the length of the target , the user of the tool can intervene inside a text. One could break down the meaning of a text or create new narrative meanings by exposing its structure, taking out or highlighting specific and meaningful words and detaching such text from its original context. This tool offers a broad spectrum of possibilities in which it can be used, from a very political and subversive use, to a more playful and poetic one.

Examples

In [3]:
stich("life is life","life"," ")
Out[3]:
'     is     '
In [5]:
stich("life is life","life","*")
Out[5]:
'**** is ****'
In [ ]: