Code: Alles auswählen.
DATA lf_part TYPE string.
lf_part = '123456789 xB'.
DATA sub TYPE string.
sub = substring( val = lf_part off = 10 len = 1 ).
IF sub CA 'x'.
WRITE ' Enthält an 11. Stelle ein "x"'.
ENDIF.
IF substring( val = lf_part off = 10 len = 1 ) CA 'x'.
WRITE ' hier läuft er rein '.
ENDIF.
IF substring( val = lf_part off = 08 len = 3 ) CA ' '.
WRITE ' Kaum Abfrage nach Space nicht mehr '.
ENDIF.
Code: Alles auswählen.
IF substring( val = lf_part off = 08 len = 3 ) CA ` `. "<-- Jetzt sollte das Leerzeichen gefunden werden
WRITE ' Kaum Abfrage nach Space nicht mehr '.
ENDIF.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
pherweg
Ich habe SPACE genommen....a-dead-trousers hat geschrieben:Ich kann schon sagen wo hier der (Denk-)Fehler liegt:
' ' ist nicht gleich einem Leerzeichen sondern schlicht "leer".
Korrekt wäre ` `. (= String mit Leerzeichen)Code: Alles auswählen.
IF substring( val = lf_part off = 08 len = 3 ) CA ` `. "<-- Jetzt sollte das Leerzeichen gefunden werden WRITE ' Kaum Abfrage nach Space nicht mehr '. ENDIF.
Code: Alles auswählen.
IF substring( val = lf_part off = 08 len = 3 ) CA SPACE.
WRITE ' das wird auch nicht gefunden '.
ENDIF.
Nein. Eine leere Zeichenkette ist das hier: ``ralf.wenzel hat geschrieben:Also ist SPACE kein Leerzeichen, sondern eine leere Zeichenkette - und hat demzufolge den falschen Namen.
Nein - SPACE besteht schon aus einem Leerzeichen. Aber an vielen Stellen werden eben abschließende Leerzeichen ignoriert - und an ebendiesen Stellen wird dann das eine Leerzeichen zum leeren String reduziert.ralf.wenzel hat geschrieben:Also ist SPACE kein Leerzeichen, sondern eine leere Zeichenkette - und hat demzufolge den falschen Namen.