tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplace (Operator)

Name

tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplace — Ersetzen eines Teils einer Zeichenkette mit Hilfe von regulären Ausdrücken.

Signatur

tuple_regexp_replace( : : Data, Expression, Replace : Result)

Herror tuple_regexp_replace(const char* Data, const char* Expression, const char* Replace, char* Result)

Herror T_tuple_regexp_replace(const Htuple Data, const Htuple Expression, const Htuple Replace, Htuple* Result)

void TupleRegexpReplace(const HTuple& Data, const HTuple& Expression, const HTuple& Replace, HTuple* Result)

HTuple HTuple::TupleRegexpReplace(const HTuple& Expression, const HTuple& Replace) const

static void HOperatorSet.TupleRegexpReplace(HTuple data, HTuple expression, HTuple replace, out HTuple result)

HTuple HTuple.TupleRegexpReplace(HTuple expression, HTuple replace)

Beschreibung

tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplaceTupleRegexpReplace wendet den regulären Ausdruck ExpressionExpressionExpressionExpressionexpression auf eine oder mehrere Zeichenketten in DataDataDataDatadata an und ersetzt jeweils die erste dem Suchmuster entsprechende Teilzeichenkette durch ReplaceReplaceReplaceReplacereplace. Die bearbeiteten Zeichenketten werden in ResultResultResultResultresult zurückgegeben.

Für die Beschreibung von Syntax und Optionen des regulären Ausdrucks wird auf die Dokumentation des Operators tuple_regexp_matchtuple_regexp_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatch verwiesen. Zusätzlich unterstützt der Operator tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplaceTupleRegexpReplace noch die Option 'replace_all'"replace_all""replace_all""replace_all""replace_all", mit der bei mehrfachen Übereinstimmungen auch mehrfache Ersetzungen durchgeführt werden.

Im Ausdruck ReplaceReplaceReplaceReplacereplace kann man mit '$0'"$0""$0""$0""$0" auf die dem Suchmuster entsprechende Teilzeichenkette verweisen, mit '$i'"$i""$i""$i""$i" auf das Teilergebnis der i-ten Gruppe (für i <= 9), sowie mit '$$'"$$""$$""$$""$$" auf das Literal '$'"$""$""$""$".

Für allgemeine Informationen zu String-Operationen siehe auch Tupel / String-Operationen.

Wenn DataDataDataDatadata ein leeres Tupel ist, gibt der Operator ein leeres Tupel zurück. Wenn ReplaceReplaceReplaceReplacereplace ein leeres Tupel ist und DataDataDataDatadata nicht leer ist, wird eine Fehlermeldung angezeigt.

Unicode Codepoints versus Bytes

Die Auswertung der regulären Ausdrücke berücksichtigt Unicode Codepoints. Ein Codepoint kann aus mehreren Bytes im UTF-8 String zusammengesetzt sein. Wenn die Auswertung der regulären Ausdrücke sich auf die Bytes des Strings beziehen soll, kann dieser Operator mit set_system('tsp_tuple_string_operator_mode', 'byte')set_system("tsp_tuple_string_operator_mode", "byte")SetSystem("tsp_tuple_string_operator_mode", "byte")SetSystem("tsp_tuple_string_operator_mode", "byte")SetSystem("tsp_tuple_string_operator_mode", "byte") in einen Byte-Modus umgeschaltet werden. Wenn 'filename_encoding'"filename_encoding""filename_encoding""filename_encoding""filename_encoding" auf 'locale'"locale""locale""locale""locale" gesetzt ist (legacy), verwendet dieser Operator immer den Byte-Modus.

HDevelop Inline-Operation

HDevelop unterstützt eine Inline-Operation für tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplaceTupleRegexpReplace, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

Result := regexp_replace(Data, Expression, Replace)

Ausführungsinformationen

Parameter

DataDataDataDatadata (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Zu bearbeitende Eingabezeichenketten

ExpressionExpressionExpressionExpressionexpression (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Regulärer Ausdruck.

Defaultwert: '.*' ".*" ".*" ".*" ".*"

Wertevorschläge: '.*'".*"".*"".*"".*", 'replace_all'"replace_all""replace_all""replace_all""replace_all", 'ignore_case'"ignore_case""ignore_case""ignore_case""ignore_case", 'multiline'"multiline""multiline""multiline""multiline", 'dot_matches_all'"dot_matches_all""dot_matches_all""dot_matches_all""dot_matches_all", 'newline_lf'"newline_lf""newline_lf""newline_lf""newline_lf", 'newline_crlf'"newline_crlf""newline_crlf""newline_crlf""newline_crlf", 'newline_cr'"newline_cr""newline_cr""newline_cr""newline_cr"

ReplaceReplaceReplaceReplacereplace (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Ersetzungsausdruck.

ResultResultResultResultresult (output_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Bearbeitete Zeichenketten.

Beispiel (HDevelop)

tuple_regexp_replace(['img10.bmp','img11.bmp','img12.bmp'], \
                     'img(.*).bmp', 'out$1.txt', Result)
* Returns ['out10.txt','out11.txt','out12.txt']

Siehe auch

tuple_regexp_matchtuple_regexp_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatch, tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTest, tuple_regexp_selecttuple_regexp_selectTupleRegexpSelectTupleRegexpSelectTupleRegexpSelect

Modul

Foundation