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 / 755 / 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 / 755 / 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 / 755 / 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.
1745
Views
Ersetzen von Zeichen
von SAP_ENTWICKLER » 10.12.2018 08:01 • Verfasst in ABAP® Core
3
Antw.
4232
Views
Nichtdruckbare Zeichen ersetzen
von asdfjklö » 01.07.2008 13:21 • Verfasst in ABAP® für Anfänger
9
Antw.
1375
Views
Im String mit Regex Zeichen ersetzen
von MarkusW » 20.08.2020 13:42 • Verfasst in ABAP® Core
5
Antw.
1252
Views
Letzte String Zeichen ersetzen
von ichse18577 » 13.11.2019 14:02 • Verfasst in ABAP® für Anfänger
5
Antw.
4934
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

Zeilenumbrüche ersetzen
vor 14 Minuten von ralf.wenzel 3 / 15
Dialog-Container mit Toolbar/Status
vor 19 Stunden von tar gelöst 19 / 2084
SAP Trial Version für SAP Fiori
Gestern von tar 2 / 1444

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

Zeilenumbrüche ersetzen
vor 14 Minuten von ralf.wenzel 3 / 15
Dialog-Container mit Toolbar/Status
vor 19 Stunden von tar gelöst 19 / 2084
SAP Trial Version für SAP Fiori
Gestern von tar 2 / 1444

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 505
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2143
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8738