SMS-Splitter

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Haide
User
Beiträge: 1
Registriert: Samstag 18. Oktober 2014, 21:59

Hallo Community, ich bin neu und nutze diesen Thread gleich einmal um mich vorzustellen. Also an alle ersteinmal ein freundliches HALLO :D

Ich habe eine Frage. Und zwar muss ich einen SMS-Splitter schreiben. Ich habe eine input.txt die ich einlesen muss. Und ich muss den Text bei 160 Zeichen splitten und 60 Binderstriche einfügen und einen Zeilenumbruch machen. Und dann die nächsten 160 Zeichen schreiben usw.
Es darf aber kein Wort abgeschnitten werden also wenn bei 158 Zeichen das Wort PYTHON kommt muss ich die Zeile bei 158 Zeichen beenden und mit PYTHON in der neuen Zeile anfangen. Leider bin ich ein Neuling und habe relativ wenig Ahnung wie ich das in Python umsetzten kann.

Ich bin schon so weit das ich die Datein eingelesen habe, nun will ich einen Counter mit einer for Schleife machen der mir alle Zeichen zählt und einen der sich die Postion des letzten Leerzeichens merkt damit ich dort dann abschneiden kann. Leider habe ich wenig Ahnung wie ich das mache, ich hoffe ihr könnt mir weiterhelfen.

Hier ist der Code den ich bereits habe:

Code: Alles auswählen

filename = "input.txt"
try:
    with open("input.txt", "r") as f:
        #Alles einlesen
        text = f.read()
        l = len(text)
except IOError as e:
    print("Error: " + e)
In C würde das ganze so ausehen mit den Countern:
Mit dem ersten Counter zumindest:

Code: Alles auswählen

int i = 0;
for(i = 0; i < text_length; ++i)
Leider komm ich nicht drauf wie ich das ganze in Python umsetze...
Irgendwelche Ideen?

Bitte um Hilfe,
mit Freundlichen Grüßen,
Haide :D
Zuletzt geändert von Anonymous am Samstag 18. Oktober 2014, 22:52, insgesamt 1-mal geändert.
Grund: Quelltext in Code-Tags gesetzt.
BlackJack

@Haide: Zeichenketten haben in Python viele schöne Methoden die einem helfen so etwas zu machen. Dabei lohnt es sich auch auf optionale Argumente zu achten.

Ich würde übrigens auch in C nicht anfangen die Zeichenkette *von vorne* durchzugehen. ;-)
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Also Wörter werden getrennt durch Leerzeichen und Satzzeichen. Matlab kennt strsplit.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
BlackJack

@darktrym: Psst, falsches Forum. ;-)
Antworten