Letzten zwei Zeichen eines Strings ersetzen

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

Letzten zwei Zeichen eines Strings ersetzen

Beitrag von mgo (ForumUser / 7 / 0 / 0 ) »
Guten Morgen,

wie kann ich in einem String zb. 12346565 die letzte 65 durch eine 68 ersetzen, so dass der String am Ende so aussieht 12346568 ?

Ich habe es bisher mit der Replace funktion versucht, diese ersetz aber nur das erste Aufkommen von 65.

Danke + Gruß
Marco

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


Search

Beitrag von Thomas R. (Expert / 766 / 83 / 40 ) »
Hallo Marko,
mit dem Befehl SEARCH zuerst das letzte vorkommen suchen und dann an dieser Stelle ersetzen.

MfG
Thomas R.

Ein weiteres ABAP-Forum ist zu finden unter: http://yaabb.de

Re: Search

Beitrag von mgo (ForumUser / 7 / 0 / 0 ) »
Hallo Thomas,

danke erst mal für deine Antwort.

Kann ich direkt mit dem SEARCH Befehl auch ersetzen?

Wenn nicht, wie kann ich dann bei REPLACE die Position ab der Ersetzt werden soll übergeben?

Danke
Marco

Search

Beitrag von Thomas R. (Expert / 766 / 83 / 40 ) »
Hallo Marko,
mit dem Befehl SEARCH zuerst das letzte vorkommen suchen und dann an dieser Stelle ersetzen.

MfG
Thomas R.

Ein weiteres ABAP-Forum ist zu finden unter: http://yaabb.de

Search

Beitrag von Thomas R. (Expert / 766 / 83 / 40 ) »
Hallo Marco,
anbei eine Beispielprozedur:

FORM replace_last USING value(i_old) TYPE csequence
value(i_new) TYPE csequence
CHANGING c_text TYPE csequence.
DATA:
lv_oldlen TYPE i,
lv_searchstart TYPE i,
lv_lastfound TYPE i.

lv_oldlen = STRLEN( i_old ).
IF lv_oldlen > 0.
lv_lastfound = - lv_oldlen.
lv_searchstart = 1.
SEARCH c_text FOR i_old STARTING AT lv_searchstart.
WHILE sy-subrc = 0.
lv_lastfound = lv_lastfound + sy-fdpos + lv_oldlen.
lv_searchstart = lv_searchstart + sy-fdpos + lv_oldlen.
SEARCH c_text FOR i_old STARTING AT lv_searchstart.
ENDWHILE.
IF lv_lastfound >= 0.
REPLACE SECTION OFFSET lv_lastfound LENGTH lv_oldlen
OF c_text WITH i_new.
ENDIF.
ENDIF.
ENDFORM. "replace_last

MfG
Thomas R.

Ein weiteres ABAP-Forum findet sich unter http:\\yaAbb.de

Seite 1 von 1

Vergleichbare Themen

2
Antw.
3714
Views
Ersetzen von Zeichen
von SAP_ENTWICKLER » 10.12.2018 08:01 • Verfasst in ABAP® Core
3
Antw.
4821
Views
Nichtdruckbare Zeichen ersetzen
von asdfjklö » 01.07.2008 13:21 • Verfasst in ABAP® für Anfänger
9
Antw.
4434
Views
Im String mit Regex Zeichen ersetzen
von MarkusW » 20.08.2020 13:42 • Verfasst in ABAP® Core
5
Antw.
5595
Views
Zeichen in einem Textfeld ersetzen
von kbit100 » 07.06.2018 14:30 • Verfasst in ABAP® für Anfänger
5
Antw.
2442
Views
Letzte String Zeichen ersetzen
von ichse18577 » 13.11.2019 14:02 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

BAPI_ACC_DOCUMENT_POST
vor 18 Stunden von Lukas Sanders 3 / 528
Side by Side extensions
vor 2 Tagen von JHM 2 / 735
Benutzerdefinierte Felder PSP
vor einer Woche von Rabea1103 1 / 6258

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.

Aktuelle Forenbeiträge

BAPI_ACC_DOCUMENT_POST
vor 18 Stunden von Lukas Sanders 3 / 528
Side by Side extensions
vor 2 Tagen von JHM 2 / 735
Benutzerdefinierte Felder PSP
vor einer Woche von Rabea1103 1 / 6258

Unbeantwortete Forenbeiträge

Benutzerdefinierte Felder PSP
vor einer Woche von Rabea1103 1 / 6258
Spool vereinen OTF und PDF
vor 3 Wochen von anna2205 1 / 19869
XSLT und Loipro05 Transformation
December 2025 von Torsten1965 1 / 26659
VOLL Artikel in einem Display Typ 12
November 2025 von ThomasM84 1 / 45643