Code: Alles auswählen.
DATA: Lv_Nur_Ort TYPE string,
str1 TYPE string,
str2 TYPE string,
str3 TYPE string.
text = `Frank, Meier, Berlin. `.
SPLIT text AT ',' INTO str1 str2 str3.
if str3 is not initial.
lv_nur_ort = str3.
elseif str2 is not initial.
lv_nur_ort = str2.
elseif str1 is not initial.
lv_nur_ort = str1.
ENDIF.
Den Zusatz hättest Du Dir auch sparen können.ralf.wenzel hat geschrieben:......taugt diese Lösung nicht viel. Stattdessen machen zwei Lösungen mehr Sinn:
REPORT.
PARAMETERS: p_input TYPE string OBLIGATORY LOWER CASE.
WRITE:/ p_input.
REPLACE REGEX '.*,([^,]*)$' IN p_input WITH '$1'.
WRITE:/ p_input.
So wie ich es gepostet habe würde ich dir sogar recht geben - aber das war auch nur ein (funktionierendes) Beispiel. Aber da man normalerweise seinen Code an komplizierteren Stellen kommentiert, sehe ich keinen Grund keine regulären Ausdrücke zu verwenden. Insbesondere da das in diesem Fall ja wirklich sehr simpel gehalten ist.ralf.wenzel hat geschrieben: Die Variante mit dem Regulären Ausdruck ist eleganter, versteht aber nicht jeder (auch nicht jeder, der das mal warten muss), ich vermeide sowas in meinem Coding nach zahlreichen Beschwerden.
Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
derkano
Ich auch - aber liegt es an mir, diese Regeln zu bewerten?black_adept hat geschrieben:Allerdings halte ich die "Hausregel" die du dort vorfindest schon für bedenklich.