ABAP String von hinten. Thema ist als GELÖST markiert

Getting started ... Alles für einen gelungenen Start.
11 Beiträge • Seite 1 von 1
11 Beiträge Seite 1 von 1

ABAP String von hinten.

Beitrag von Django90 (ForumUser / 27 / 15 / 0 ) »
Hallo liebes Forum,

Ich möchte gerne die letzten 3 Buchstaben meines String's auslesen,
ich weiß das ich die ersten mit "(3)" auslese, wie mache ich das nun mit den letzten?

Vielen Dank für die Antworten.

Mfg, D90


Re: ABAP String von hinten.

Beitrag von wreichelt (Expert / 841 / 20 / 144 ) »
Hallo,

wenn bekannt ist wie lang der String ist mit +15(3).

Gruß Wolfgang

Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
Django90


Re: ABAP String von hinten.

Beitrag von Django90 (ForumUser / 27 / 15 / 0 ) »
Concatenate IV_ERSTESWORT+13(3) IV_ZWEITESWORT+14(3) into EV_TEXT.

Wenn ich dann im Funktionsbaustein die Werte eingebe, gibt der trotzdem die ersten Buchstaben an.

VG

Re: ABAP String von hinten.

Beitrag von DeathAndPain (Top Expert / 1502 / 167 / 337 ) »
Mir ist jetzt nicht klar, weshalb Du auf einmal von zwei verschiedenen Strings sprichst und von welchem Funktionsbaustein auf einmal die Rede ist. Mir scheint, Du gibst uns nur die halbe Information, die vonnöten ist, um Dein eigentliches Problem zu verstehen.

Deine ursprüngliche Aufgabe ist leicht zu lösen:

Code: Alles auswählen.

DATA x TYPE i.

x = STRLEN( deinstring ) - 3.

letztedreizeichen = deinstring+x.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Django90


Re: ABAP String von hinten.

Beitrag von Django90 (ForumUser / 27 / 15 / 0 ) »
Entschuldigung, ich habe mich wohl nicht klar genug ausgedrückt.

Vielen Dank für die Antworten und die Hilfestellungen! :)


Ich habe das Problem wie folgt gelöst:

FUNCTION ZMF_AUFGABENPOOL.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(IV_ERSTESWORT) TYPE STRING OPTIONAL
*" VALUE(IV_ZWEITESWORT) TYPE STRING OPTIONAL
*" VALUE(X) TYPE INTEGER OPTIONAL
*" EXPORTING
*" VALUE(EV_TEXT) TYPE STRING
*"----------------------------------------------------------------------
X = STRLEN( IV_ERSTESWORT ) - 3.
X = STRLEN( IV_ZWEITESWORT ) - 3.

Concatenate IV_ERSTESWORT+x(3) IV_ZWEITESWORT+x(3) into EV_TEXT.

ENDFUNCTION.
Zuletzt geändert von Django90 am 25.09.2017 10:47, insgesamt 1-mal geändert.

Re: ABAP String von hinten.

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Oder mit den neuen string functions:

Code: Alles auswählen.

p_output = substring_from( val = p_input regex = '...$' ).

Folgende Benutzer bedankten sich beim Autor Dele für den Beitrag:
Django90


Re: ABAP String von hinten.

Beitrag von DeathAndPain (Top Expert / 1502 / 167 / 337 ) »
@Dele: Kennst Du einen Link, über den man sich zu Regexps belesen kann, ohne a) vom Umfang erschlagen zu werden (für den Einstieg braucht man keine komplizierten Spezialfälle) und ohne b) mit Ausdrücken behelligt zu werden, die unter ABAP nicht unterstützt werden? Ich denke mir, für viele alltägliche Aufgaben können einfache Regexps gut geeignet sein, aber die Regexp-Apologeten sind in aller Regel davon so begeistert, dass sie immer gleich aus dem Vollen schöpfen müssen, auch wenn das zumeist nur akademischen Nutzen hat. Ein einfacher Einführungsleitfaden wäre klasse.

Re: ABAP String von hinten.

Beitrag von Thomas R. (Expert / 715 / 45 / 30 ) »
Hallo Django90,
schaue Dir Deinen FuBa nochmals genau an.
Er macht nicht das was Du (vermutlich) willst und wenn Du geeignete Parameter wählst bekommst Du einen Dump...

Tipp:
Du überschreibst den Eingabewert mit einer Berechnung, die Du mit der nächsten Berechnung wieder überschreibst...

MfG
Thomas R.

Re: ABAP String von hinten.

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Ich habe vor vielen Jahren hier http://www.regenechsen.de/phpwcms/index ... ,0,0,1,0,0 angefangen, mich einzulesen. Als dann regex in ABAP eingeführt wurde, habe ich die entsprechende ABAP-Doku dazu gelesen. Mit dem Programm DEMO_REGEX_TOY kann man so ziemlich alles testen, was in SAP geht.
Ganz hilfreich fand ich noch ein paar PC-Tools: RegexDesigner und Regex Coach.
Ich bin wirklich keine Regex-Experte. Aber wenn man mal ein paar Sachen gemacht hat und eine grobe Ahnung hat, was so geht, dann bei String-Problemen einfach ausprobieren und im Internet suchen. Da findet man meistens etwas. Oder einfach hier im Forum fragen - habe hier auch schon ein paar gute Regex-Ausdrücke gefunden. Mein "Lieblings" Regex-Ausdruck ist:

Code: Alles auswählen.

replace  all occurrences of regex  '(.)(?=.*\1+)'   in  f_istring with  ``. 
Der eleminiert Mehrfachvorkommen von Zeichen in einem String. Kannst du ja mal mit DEMO_REGEX_TOY testen.
Das waren davor ca. 30 Zeilen Coding.

Folgende Benutzer bedankten sich beim Autor Dele für den Beitrag:
Icke0801


Re: ABAP String von hinten.

Beitrag von ST22 (Specialist / 253 / 31 / 30 ) »
* gelöst mit Find und Replace Offset... *
Guten Abend,
gegeben sei ein string vom typ string mit variabler Länge.
Ich möchte das letzte Komma in diesem String raus kicken.
Jetzt gehe ich mal davon aus, dass das mit REGEX ein Einzeiler ist.

Nur leider arbeite ich zu selten damit, kann mir ein hilfreicher Mensch auf die Sprünge helfen.
Vielen Dank
Frank
P.S ABAP Stack 7.31

Re: ABAP String von hinten.

Beitrag von a-dead-trousers (Top Expert / 3618 / 125 / 942 ) »

Code: Alles auswählen.

.+(,.+)$
Am Ende ($) nach min einem (+) beliebigen Zeichen (.) wo DAVOR ein Beistrich ist. Da der Beistrich in der Gruppe () ist sollte der erste Submatch den korrekten Index anzeigen.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
ST22

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Seite 1 von 1

Aktuelle Forenbeiträge

F4 Hilfe für Dynprofeld
vor 14 Stunden von ewx gelöst 6 / 46

Vergleichbare Themen

String nach erstem Auftreten von hinten durchsuchen
von wexpress » 15.08.2005 11:23
String als ABAP-Befehl ausführen
von Trulchen » 29.07.2014 10:15
String zerlegen (oder RegEx in ABAP?)
von Margolwes » 19.09.2005 15:06
Kundeneigene ABAP-Muster Vorlage im ABAP-Editor anlegen
von Stentor » 19.07.2005 11:10
CSV String
von Django90 » 02.10.2017 08:58