2017-08-02 3 views
0

Gibt es eine Möglichkeit, aus einer großen Zeichenfolge einen Teil davon herauszunehmen, die in & & enthalten? Ich weiß, dass ich die erste & und dann die zweite finden und herausnehmen kann. Aber gibt es einen anderen Weg?Wie nehme ich die Zeichenfolge & XXXX & von einer großen Zeichenfolge

Dank Elias

+0

Wollen Sie ein faules oder ein gieriges Spiel? – vwegert

+0

Eine schnelle und nicht die erste und zweite und dann die Schnur nehmen. – ekekakos

+0

Ich bin mir nicht sicher, ob ich die Frage so überlegt habe: Gegeben die Zeichenfolge 'foo & bar & bad & boo', willst du 'bar' (lazy match) oder 'bar & bad' (greedy match) rausnehmen) – vwegert

Antwort

1

Sie SPLIT verwenden können ... AT '&' INTO ... construcion die große Zeichenfolge in drei Teile aufgeteilt und dann den zweiten Teil zu nehmen.

1

könnten Sie verwenden ein string function:

DATA(result) = match(val = your_string regex = '&.+&'). 
+0

Wenn ich diese Zeile kopiere-paste funktioniert es? Oder muss ich etwas erklären? Vielen Dank. – ekekakos

+0

Du wirst es selbst testen müssen :) aber es sollte funktionieren und '& bar & & bad &' aus der oben genannten Beispiel-Zeichenfolge in 'result' platzieren. – andreas

+0

Ich teste es, aber es funktioniert nicht. Mein String ist: "Mein Name ist & Name & und ich arbeite für & Company & in & Country &." . Wie man den Namen/die Firma/das Land eins nach dem anderen erhält, um etwas Arbeit für jeden zu machen. Ihre Lösung dauerte vom ersten bis zum letzten. Danke – ekekakos

0

Ein bisschen spät zur Party, aber ich glaube, Sie suchen diese:

DATA: lv_text TYPE string. 
lv_text = 'food &bar& &bad& boo'. 

REPLACE ALL OCCURRENCES OF REGEX '&[^&]+&' IN lv_text WITH ''. 

WRITE lv_text. 

Erklärung der REGEX &[^&]+&:

Erste & muss übereinstimmen.

Dann mit [^&] alles andere als & muss übereinstimmen, und die + bedeutet "ein oder mehrere Male".

Am Ende muss ein & erneut abgeglichen werden.

Verwandte Themen