משתמש:I'm the cookie monster/המרות אוטומטיות
דף זה משמש לריכוז של מספר סקריפטים קטנים בפייתון לשינויים קטנים בטקסט. מוזמנים לערוך את הדף הזה ולהוסיף משלכם, וכן להשתמש בקוד אם הוא מועיל לכם.
תבנית בסיסית לקוד
עריכהimport re
PATH = "C:\\Users\\User\\Downloads\\"
FILE_NAME= PATH + "input.txt"
OUTPUT_NAME = PATH + "output.txt"
with open(FILE_NAME, "r", encoding="utf-8") as file:
text = file.read()
#מניפולציה כלשהי לטקסט...
with open(OUTPUT_NAME, "w", encoding="utf-8") as file:
file.write(text)
הקוד יוצר כותרת 2 לשורות מהצורה "פרשת X", וכותרת 3 ל"תשובות" ו"שאלות". כמו כן הטקסט מכפיל את תווי "ירידת שורה" (אנטר), כדי שהם יוצגו ללא תבנית {{רן}}, שלא מסתדרת כ"כ טוב עם כותרות. בנוסף מוחלפים מספורי השורות במספור אוטומטי באמצעות #.
text = re.sub(r"^(פרשת \w*)$", r"== \1 ==\n", text, flags=re.MULTILINE)
text = text.replace("שאלות", "=== שאלות ===")
text = text.replace("תשובות", "=== תשובות ===")
text = re.sub(r"^\d\.\t(.*?)$", r"#\1", text, flags=re.MULTILINE)
text = re.sub(r"\n([^#])", r"\n\n\1", text)
מסיר ניקוד (פשוט)
עריכהמסיר את תווי הניקוד. הקוד לא מחליף כתיב חסר למלא.
nikud = [
"\u05B0",
"\u05B1",
"\u05B2",
"\u05B3",
"\u05B4",
"\u05B5",
"\u05B6",
"\u05B7",
"\u05B8",
"\u05B9",
"\u05BA",
"\u05BB",
"\u05BC",
"\u05BD",
"\u05BF",
"\u05C1",
"\u05C2",
"\u05C4",
"\u05C5",
"\u05C7",
]
for char in nikud:
text = text.replace(char, "")
מסיר תווים לבנים
עריכהמסיר רווחים וטאבים מיותרים. לא משנה את כמות האנטרים.
text = re.sub(r"[ \t\r\f\v]+", r" ", text)
החלפת מספור פסקאות בכותרות
עריכהמחליף את המספור של הפסקה לכותרות משניות, לקריאות טובה יותר ואפשרות לקשר. ראו דוגמה בחיי שנים עשר הקיסרים.
text = re.sub(r"^(?P<paragraph_num>\d+)\. ", r"=== \1 ===\n", text, flags=re.MULTILINE)