This commit is contained in:
Jonas_Jones 2024-01-10 16:00:17 +01:00
parent df295d1dfd
commit fb96e238c1
6 changed files with 133 additions and 0 deletions

66
GPR/ue10/main.py Normal file
View file

@ -0,0 +1,66 @@
'''GPR Übung 10 - Reguläre Ausdrücke'''
__author__ = "7987847, Werner"
import re
def cleopatra_change_gender():
'''
Lies den Text aus der Datei "Kleopatra.txt" ein und ersetze alle Vorkommen von "sie" durch "er".
Gib den modifizierten Text auf der Konsole aus.
'''
# Dateipfad zum Text
dateipfad = "Kleopatra.txt"
try:
# Text aus der Datei lesen
with open(dateipfad, 'r', encoding='utf-8') as datei:
text = datei.read()
# Verwende die sub()-Funktion, um "sie" durch "er" zu ersetzen
modifizierter_text = re.sub(r'\bsie\b', 'er', text, flags=re.IGNORECASE)
modifizierter_text = re.sub(r'\bIhre\b', 'Seine', modifizierter_text, flags=re.IGNORECASE)
# Gib den modifizierten Text auf der Konsole aus
print(modifizierter_text)
except FileNotFoundError:
print(f"Die Datei {dateipfad} wurde nicht gefunden.")
def find_patterns_in_text():
'''
Lies den Text aus der Datei "Wortgitter_mitZahlen.txt" ein und finde folgende Muster:
i) Findet das erste Vorkommen von Zeichenfolgen, die mit einer Null starten,
gefolgt von einer Zahl und einem Buchstaben
ii) Findet alle Vorkommen von Zeichenfolgen mit 2 oder 3 Zahlen hintereinander
Gib die gefundenen Muster auf der Konsole aus.
'''
# Dateipfad zum Text
dateipfad = "Wortgitter_mitZahlen.txt"
try:
# Text aus der Datei lesen
with open(dateipfad, 'r', encoding='utf-8') as datei:
text = datei.read()
# i) Findet das erste Vorkommen von Zeichenfolgen, die mit einer Null starten,
# gefolgt von einer Zahl und einem Buchstaben
pattern_i = re.findall(r'0[0-9][A-Za-z]', text)
print("i. Erstes gefundenes Muster:")
print(pattern_i[0] if len(pattern_i) > 0 else "Kein Muster gefunden.")
# ii) Alle vorkommen aus i)
print("\nii. Alle gefundenen Muster:")
print(pattern_i)
# iii) Findet alle Vorkommen von Zeichenfolgen mit 2 oder 3 Zahlen hintereinander
pattern_iii = re.findall(r'\d{2,3}', text)
print("\niii. Gefundene Muster:")
print(pattern_iii)
except FileNotFoundError:
print(f"Die Datei {dateipfad} wurde nicht gefunden.")
if __name__ == "__main__":
cleopatra_change_gender()
find_patterns_in_text()