in lib/src/characters_impl.dart [821:838]
CharacterRange? replaceFirst(Characters pattern, Characters replacement) {
var patternString = pattern.string;
var replacementString = replacement.string;
String replaced;
if (patternString.isEmpty) {
replaced = _string.replaceRange(_start, _start, replacementString);
} else {
var index = _indexOf(_string, patternString, _start, _end);
if (index >= 0) {
replaced = _string.replaceRange(
index, index + patternString.length, replacementString);
} else {
return null;
}
}
var newEnd = replaced.length - _string.length + _end;
return _expandRange(replaced, _start, newEnd);
}