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 / 758 / 78 / 34 ) »
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 / 758 / 78 / 34 ) »
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 / 758 / 78 / 34 ) »
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.
2077
Views
Ersetzen von Zeichen
von SAP_ENTWICKLER » 10.12.2018 08:01 • Verfasst in ABAP® Core
3
Antw.
4372
Views
Nichtdruckbare Zeichen ersetzen
von asdfjklö » 01.07.2008 13:21 • Verfasst in ABAP® für Anfänger
9
Antw.
1736
Views
Im String mit Regex Zeichen ersetzen
von MarkusW » 20.08.2020 13:42 • Verfasst in ABAP® Core
5
Antw.
1460
Views
Letzte String Zeichen ersetzen
von ichse18577 » 13.11.2019 14:02 • Verfasst in ABAP® für Anfänger
5
Antw.
5045
Views
Zeichen in einem Textfeld ersetzen
von kbit100 » 07.06.2018 14:30 • 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

Absprung VA02 Position
vor 31 Minuten von black_adept 2 / 7
OPD Druck im SPOOL
vor einer Stunde von Manfred K. 1 / 8
Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1796
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2334

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

Absprung VA02 Position
vor 31 Minuten von black_adept 2 / 7
OPD Druck im SPOOL
vor einer Stunde von Manfred K. 1 / 8
Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1796
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2334

Unbeantwortete Forenbeiträge

OPD Druck im SPOOL
vor einer Stunde von Manfred K. 1 / 8
Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 374
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 981
MS-Word als Editor
letzen Monat von tekko 1 / 4485