mirror of
https://github.com/JonasunderscoreJones/EPI-2324.git
synced 2025-10-23 16:39:21 +02:00
gpr ue10
This commit is contained in:
parent
df295d1dfd
commit
fb96e238c1
6 changed files with 133 additions and 0 deletions
66
GPR/ue10/main.py
Normal file
66
GPR/ue10/main.py
Normal 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()
|
Loading…
Add table
Add a link
Reference in a new issue