ABAP String von hinten.

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: ABAP String von hinten.

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
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 / 1939 / 257 / 412 ) »
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 / 1939 / 257 / 412 ) »
@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 / 755 / 78 / 34 ) »
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 / 279 / 43 / 41 ) »
* 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 / 4395 / 223 / 1182 ) »

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.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

7
Antw.
4450
Views
String nach erstem Auftreten von hinten durchsuchen
von wexpress » 15.08.2005 11:23 • Verfasst in ABAP® für Anfänger
2
Antw.
328
Views
STRING zu lang für ABAP?
von sap_koun » 16.06.2022 23:26 • Verfasst in ABAP® für Anfänger
3
Antw.
1977
Views
String als ABAP-Befehl ausführen
von Trulchen » 29.07.2014 10:15 • Verfasst in ABAP® für Anfänger
5
Antw.
8099
Views
String zerlegen (oder RegEx in ABAP?)
von Margolwes » 19.09.2005 15:06 • Verfasst in ABAP® Core
2
Antw.
656
Views
ABAP String Templates funktioniert nicht wie erhofft?
von tekko » 25.05.2021 21:42 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 11 Stunden von Bright4.5 1 / 244
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1882
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8485