replacementString property Null safety
String used to replace banned patterns.
For deny lists (allow is false), each match of the filterPattern is replaced with this string. If filterPattern can match more than one character at a time, then this can result in multiple characters being replaced by a single instance of this replacementString.
If allow is true, then the result will be "ooo*". Each sequence of characters not matching the pattern is replaced by its own single copy of the replacement string, regardless of how many characters are in that sequence.
If allow is false, then the result will be "Int* the W**ds". Every matching sequence is replaced, and each "o" matches the pattern separately.
If the pattern was the RegExp
o+, the result would be the
same in the case where allow is true, but in the case where
allow is false, the result would be "Int* the W*ds" (with the
two "o"s replaced by a single occurrence of the replacement
string) because both of the "o"s would be matched simultaneously
by the pattern.
The filter may adjust the selection and the composing region of the text
after applying the text replacement, such that they still cover the same
text. For instance, if the pattern was
o+ and the last character "s" was
selected: "Into The Wood|s|", then the result will be "Into The W*d|s|",
with the selection still around the same character "s" despite that it is
now the 12th character.
In the case where one end point of the selection (or the composing region)
is strictly inside the banned pattern (for example, "Into The |Wo|ods"),
that endpoint will be moved to the end of the replacement string (it will
become "Into The |W*|ds" if the pattern was
o+ and the original text and
selection were "Into The |Wo|ods").
final String replacementString;