www.mikrocontroller.net

Forum: PC-Programmierung Leerzeichen in Strings eifügen


Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ChrisB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.