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
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
- Multithreading-Typ: independent (läuft parallel auch zu exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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