Extraire l'élément en supprimant la balise contenue dans la chaîne de caractères

def remove_select_tags(string, start_tag, end_tag):
    start = string.find(start_tag)
    while start != -1:
        end = string.find(end_tag, start)
        string = string[:start] + " " + string[end + 1:]
        start = string.find(start_tag)
    return string.split()

def test_case():
    target_string = '''<h1>Title</h1><p>This is a
                        <a href="mt-takao.top">link</a>.<p>'''
    assert remove_select_tags(target_string, '<', '>') == ['Title', 'This', 'is', 'a', 'link', '.']
    target_string = "[test]a-I-U-E-O[test][next]Kakikukeko[next]"
    assert remove_select_tags(target_string, '[', ']') == ['a-I-U-E-O', 'Kakikukeko']
    print('test ok')
test_case()

Supprime l'élément du caractère spécifié dans la chaîne de caractères et récupère l'élément. Si l'élément n'est pas trouvé, -1 est renvoyé, sinon il est exécuté. Connectez la partie avant l'index trouvé par start par un blanc et connectez-la avec la chaîne de caractères après l'index trouvé par end. Recherchez ensuite d'autres start_tag dans la chaîne nouvellement générée. Enfin, séparez les espaces par des virgules pour terminer.

Recommended Posts

Extraire l'élément en supprimant la balise contenue dans la chaîne de caractères
Obtenez le dernier élément du tableau en fractionnant les chaînes en Python et PHP
Décale la chaîne de l'alphabet de N caractères en Python
Récupérer la chaîne de requête (chaîne de requête) avec Django
Qu'y a-t-il dans le paramètre? Modifier la chaîne et l'expression
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python
Je ne peux pas obtenir l'élément dans Selenium!
Échapper les crochets ondulés dans la chaîne de format
Comment lire toutes les classes contenues dans * .py dans le répertoire spécifié par Python
Divise la chaîne de caractères par le nombre de caractères spécifié. En Ruby et Python.
Extraire uniquement le nom du fichier à l'exclusion du répertoire dans le répertoire
[Automation] Extraire le tableau en PDF avec Python
Astuce BeautifulSoup: choisissez la balise en spécifiant le chemin
Extraire des lignes contenant une "chaîne" spécifique avec Pandas
Rechercher par la valeur de l'instance dans la liste
json.dumping None en python renvoie la chaîne null
Séparer les chaînes de cas de chameau mot par mot en Python
Extrayez l'erreur de code d'état de la série 400500 du journal d'accès Apache en spécifiant la plage de temps