משתמש: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)