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 / 760 / 79 / 35 ) »
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 / 760 / 79 / 35 ) »
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 / 760 / 79 / 35 ) »
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.
2834
Views
Ersetzen von Zeichen
von SAP_ENTWICKLER » 10.12.2018 08:01 • Verfasst in ABAP® Core
3
Antw.
4499
Views
Nichtdruckbare Zeichen ersetzen
von asdfjklö » 01.07.2008 13:21 • Verfasst in ABAP® für Anfänger
9
Antw.
2515
Views
Im String mit Regex Zeichen ersetzen
von MarkusW » 20.08.2020 13:42 • Verfasst in ABAP® Core
5
Antw.
1781
Views
Letzte String Zeichen ersetzen
von ichse18577 » 13.11.2019 14:02 • Verfasst in ABAP® für Anfänger
5
Antw.
5208
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

IF mit AND und OR
vor einer Woche von GastX 6 / 8419
Meine Inbox
vor einer Woche von Rabea1103 1 / 6260
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 7410
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von Bright4.5 3 / 12904

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

IF mit AND und OR
vor einer Woche von GastX 6 / 8419
Meine Inbox
vor einer Woche von Rabea1103 1 / 6260
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 7410
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von Bright4.5 3 / 12904