Forum: PC-Programmierung Leerzeichen in Strings eifügen


von Tobi (Gast)


Lesenswert?

Hallo,

ich habe ein kleines Problem, an dem ich jetzt schon seit einigen
Stunden sitze:
Ich habe einen String z.b "gad d gg aaasdsa"
Dann habe ich eine bestimmte Blocklänge z.b 2

Dann sollen in den String so Leerzeichen eingefügt werden, dass kein
Block aus Zeichen länger als 2 ist. Die original Leerzeichen dürfen
nicht verändert werden
Der Beispielstring wäre dann z.b "ga d d gg aa as ds a"

Irgendjemand eine Idee, wie der Code dazu aussehen könnte? Muss kein
Produktreifes Beispiel sein, ein Denkanstoss wäre schon super!

Danke im Vorraus

  Tobi


ps: Das sind keine Hausaufgaben ;-)

von Jürgen Schuhmacher (Gast)


Lesenswert?

Du programmierst eine Endlosschleife und darin eine 2er Schleife, fängst
vorne an zu zählen, zählst ein Quellstringzzähler und einen
Zielstringzhle eins hoch. Dann kopierst Du das Zeichen von alt nach
neu. ( Ziel& (Zielzähle-1) = Quelle (Quellzähle-1))  Wenn die
2er-Schleife auf 2 steht, prüfst Du auf ein eben kopiertes Leerzeichen,
wenn nein, zählst Du den Zielstringzähler zusätzlich eins hoch und
kopierst per Hand ein solches rein. Der Quelstringzähle bleibt
unangetastet. Fertig ist die Laube. Abbruchbedinung: Der Endestring
wurde gerade kopiert.

von Tobi (Gast)


Lesenswert?

Danke für deine Hilfe!

Hab das ganze jetzt auf diese Weise umgesetzt und es läuft. Manchmal
sitzt man Stundenlang vor soetwas und übersieht eine so kurze und
'schöne' Lösung..

Tobi

von ChrisB (Gast)


Lesenswert?

Ich weiss nicht an welche Prog/Scriptsprache du gebunden bist aber mit
regularexpr. sollte das ganz einfach in nur einer Zeile gehen. z.B. mit
dem sed an der Linux Console

sed 's/\(..\)/\1 /g'  bla.txt > bla_neu.txt

Datei bla.txt :
fsdfdsf sdfjdskfjdsfsd fsd f sdfsjd

Datei bla_neu.txt
fs df ds f  sd fj ds kf jd sf sd  f sd  f  s df sj d

Unter M$ gibt es dafür ein RegExp Objekt mit dem das genauso einfach
geht.
Hier z.B. in VB :

http://www.a1vbcode.com/vbtip.asp?ID=124

Gruß

von Tobi (Gast)


Lesenswert?

Bin leider derzeit an vc unter Windows gebunden. Natürlich trotzdem
danke für die Idee.
In der vc Hilfe hab ich leider nichts gefunden um RegExps zu
verarbeitet. Weiss du, ob es dort etwas ähnliches schon fertig gibt,
wie dieses Objekt für vb gibt? Hab bei google nur Libs von Dritten
gefunden.

  Tobi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.