Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - String auf Leerzeichen prüfen
skall - Mo 26.01.09 15:54
Titel: String auf Leerzeichen prüfen
und nochmal hallo :D
Ich versuche von einem String herauszufinden, wieviele Zeichen in diesem sind bis ein Leerzeichen kommt...
Wenn mir da jemand einen Tipp zu geben könnte :)
Danke im Vorraus
elundril - Mo 26.01.09 15:55
Probier es doch mal mit der Pos-Funktion. ;-)
lg elundril
skall - Mo 26.01.09 15:58
einfach mal sowas wie:
Delphi-Quelltext
1:
| k := Pos(#32; buffer); |
?
elundril - Mo 26.01.09 16:03
oder so: ;-)
Delphi-Quelltext
1:
| k := Copy(SourceString,0,Pos(' ',SourceString)); |
Sollt bei diesem string: 'HAllo ich bins' als rückgabe (also im k) haben: 'HAllo'.
lg elundril
skall - Mo 26.01.09 16:12
ist es auch möglich nach mehreren Zeichen zu suchen?
Nach na XOR spezifikation...
jaenicke - Mo 26.01.09 16:18
Wie meinst du das? Mehrere gleiche Zeichen?
Dann kannst du ab ein Zeichen nach der letzten Fundstelle weitersuchen mit PosEx.
Was das mit XOR zu tun hat ist mir allerdings nicht so klar.
skall - Mo 26.01.09 16:33
Naja halt wenn endweder ein Leerzeichen kommt oder ein Tab, dann soll er das nehmen...
hmm Hab das dann glaube iwie verwechselt mit dem xor ^^ passiert...
Wobei das iwie komisch gerade ist :S
Nach der ersten Zahl die ich da raus haben will kommt ein tab... dadurch lässt sich damit nicht als Integer weiter arbeiten anscheint... :S
der organist - Mo 26.01.09 16:37
Naja, es können halt nich mehrere gleichzeitig vorkommen, aber ein OR reicht da vollkommen aus
skall - Mo 26.01.09 16:41
Eine Frage noch...
Ich habe jetzt die länge des Strings bis das gesuchte zeichen kommt... Allerdings ist das Zeichen, hier: Tab, mit in dem kopierten String drin... kann ich das auch kopieren ohne den Tab mit drin?
Xentar - Mo 26.01.09 16:42
Kopier halt ein Zeichen weniger..
Nersgatt - Mo 26.01.09 16:43
skall hat folgendes geschrieben : |
Ich habe jetzt die länge des Strings bis das gesuchte zeichen kommt... Allerdings ist das Zeichen, hier: Tab, mit in dem kopierten String drin... kann ich das auch kopieren ohne den Tab mit drin? |
Zeig mal Deinen Code, wie Du den Text kopierst.
skall - Mo 26.01.09 16:50
Delphi-Quelltext
1:
| k := Length(Copy(buffer,0,Pos(#9, buffer))); |
jaenicke - Mo 26.01.09 16:52
- Ab 1 kopieren, nicht ab 0, ein String fängt bei Zeichen Nummer 1 an.
- Wie gesagt von dem Ergebnis von Pos einfach 1 abziehen, damit du ein Zeichen weniger kopierst.
Aber wozu Length? Das hast du doch sowieso schon mit Pos? :shock:
Xentar - Mo 26.01.09 16:52
Der dritte Parameter von Copy ist die Anzahl der Zeichen..
Delphi-Quelltext
1:
| k := Length(Copy(buffer,0,Pos(#9, buffer)-1)); |
Aber ganz ehrlich: Wenn dich sowieso nur die Länge des Ganzen interessiert, kannst du doch direkt das Ergebnis von Pos nehmen, und dir den Kram mit Copy sparen?
skall - Mo 26.01.09 16:55
naja ohne Length bekomm ich den String... aber ich brauch die Länge des Strings :o
GTA-Place - Mo 26.01.09 16:59
Dann brauchst du weder Length, noch Copy. Da reicht Pos() - 1 ;-)
Nersgatt - Mo 26.01.09 17:00
skall hat folgendes geschrieben : |
naja ohne Length bekomm ich den String... aber ich brauch die Länge des Strings :o |
Die Länge des Strings ist doch gleich der Position des ersten Auftretens des Leerzeichens (-1).
So wie Du es machst, ist es irgendwie, wie wenn man sich durch den Hintern in der Nase bohrt... :D
skall - Mo 26.01.09 17:02
Na damit hat der Post doch überhaupt erst angefangen :D:D:D
jaenicke - Mo 26.01.09 17:04
elundril hatte vermutet, dass du den entsprechenden String kopieren willst, und deshalb dies darunter geschrieben. Rein zur Positionsfindung war dein Code davor schon richtig (außer dem Semikolon statt Komma). ;-)
skall - Mo 26.01.09 17:06
Nochmal ne kurze doofe Frage hinten ran :S
Addition klappt doch normal mit x := y + z oder??
Weil bei mir kommt dabei x := y yz raus...
Oder verständlicher: :D
Wert := Wert + 283
kommt nahc dem zweiten mal: 283566 raus ôO
jaenicke - Mo 26.01.09 17:07
Addierst du Strings zufällig? Wenn du die als Zahlen addieren willst, dann musst du die auch vorher mit StrToInt in Zahlen umwandeln. Sonst musst du den Code schon mit posten.
Zudem: Neue Frage, neues Thema. ;-)
skall - Mo 26.01.09 17:14
ach hat sich erledigt danke trotzdem für alles :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!