tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplacetuple_regexp_replace (Operator)

Name

tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplacetuple_regexp_replace — 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)

def tuple_regexp_replace(data: MaybeSequence[str], expression: MaybeSequence[str], replace: str) -> Sequence[str]

def tuple_regexp_replace_s(data: MaybeSequence[str], expression: MaybeSequence[str], replace: str) -> str

Beschreibung

tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplaceTupleRegexpReplacetuple_regexp_replace wendet den regulären Ausdruck ExpressionExpressionExpressionExpressionexpressionexpression auf eine oder mehrere Zeichenketten in DataDataDataDatadatadata an und ersetzt jeweils die erste dem Suchmuster entsprechende Teilzeichenkette durch ReplaceReplaceReplaceReplacereplacereplace. Die bearbeiteten Zeichenketten werden in ResultResultResultResultresultresult zurückgegeben.

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

Im Ausdruck ReplaceReplaceReplaceReplacereplacereplace kann man mit '$0'"$0""$0""$0""$0""$0" auf die dem Suchmuster entsprechende Teilzeichenkette verweisen, mit '$i'"$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 DataDataDataDatadatadata ein leeres Tupel ist, gibt der Operator ein leeres Tupel zurück. Wenn ReplaceReplaceReplaceReplacereplacereplace ein leeres Tupel ist und DataDataDataDatadatadata 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")set_system("tsp_tuple_string_operator_mode","byte") in einen Byte-Modus umgeschaltet werden. Wenn 'filename_encoding'"filename_encoding""filename_encoding""filename_encoding""filename_encoding""filename_encoding" auf 'locale'"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_replaceTupleRegexpReplaceTupleRegexpReplaceTupleRegexpReplacetuple_regexp_replace, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

Result := regexp_replace(Data, Expression, Replace)

Ausführungsinformationen

Parameter

DataDataDataDatadatadata (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Zu bearbeitende Eingabezeichenketten

ExpressionExpressionExpressionExpressionexpressionexpression (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Regulärer Ausdruck.

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

Wertevorschläge: '.*'".*"".*"".*"".*"".*", 'replace_all'"replace_all""replace_all""replace_all""replace_all""replace_all", 'ignore_case'"ignore_case""ignore_case""ignore_case""ignore_case""ignore_case", 'multiline'"multiline""multiline""multiline""multiline""multiline", 'dot_matches_all'"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_lf", 'newline_crlf'"newline_crlf""newline_crlf""newline_crlf""newline_crlf""newline_crlf", 'newline_cr'"newline_cr""newline_cr""newline_cr""newline_cr""newline_cr"

ReplaceReplaceReplaceReplacereplacereplace (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Ersetzungsausdruck.

ResultResultResultResultresultresult (output_control)  string(-array) HTupleSequence[str]HTupleHtuple (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_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatchtuple_regexp_match, tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTesttuple_regexp_test, tuple_regexp_selecttuple_regexp_selectTupleRegexpSelectTupleRegexpSelectTupleRegexpSelecttuple_regexp_select

Modul

Foundation