Hello,

I am attaching a draft of `.replaceRegexp`

. Could anyone prove this before I make a PR?

method:

```
+ String {
replaceRegexp { arg findRegexp, replace;
var founds, replaced;
founds = this.findRegexp(findRegexp);
founds = if(findRegexp[0] == $^) {
founds.collect { |array| if (array[0] == 0) {array} {} }
} {
founds
};
while { founds.includes(nil) } { founds.remove(nil) };
founds = founds.asSet.asArray.sort({ |a, b| a[0] < b[0] });
replaced = this;
if(founds.size > 0) {
founds.reverse.do { |idx_str|
var foundIndex, foundString;
#foundIndex, foundString = idx_str;
replaced = if (foundIndex > 0) {
var lastString = replaced[foundIndex + foundString.size ..];
lastString = if(lastString != nil) { lastString } { "" };
replaced[0 .. foundIndex - 1] ++ replace ++ lastString
} {
replace ++ replaced[foundString.size ..]
}
}
} {
replaced
};
^replaced
}
}
```

Test code:

```
/* Removal of all single numbers */
"012qW567<>?,. /".replaceRegexp("[0-9]", "") // qW<>?,. /
"012qW567<>?,. /".replaceRegexp("\\d", "") // qW<>?,. /
/* Removal of two adjacent single numbers */
"012qW567{}|[`~]".replaceRegexp("[0-9]{2}", "") // 2qW7{}|[`~]
"012qW567{}|[`~]".replaceRegexp("\\d{2}", "") // 2qW7{}|[`~]
/* Removal of from three adjacent single numbers */
"0q12W345;6789 :'\"\\\(\)".replaceRegexp("\\d{3,}", "") // 0q12W; :'"\()
/* Removal of from three to five adjacent single numbers */
"0q12W345{6789}|12345[123456\\1234567~]".replaceRegexp("\\d{3,5}", "") // 0q12W{}|[6\67~]
/* Removal other than each single number */
"123qWe456!@£$%^&*".replaceRegexp("\\D", "") // 123456
"123qWe456!@£$%^&*".replaceRegexp("[^\\d]", "") // 123456
"123qWe456!@£$%^&*".replaceRegexp("[^0-9]", "") // 123456
/* Removal of the single number at the beginning of the string */
"123qWe456!@£$%^&*".replaceRegexp("^[0-9]", "") // 23qWe456!@£$%^&*
"123qWe456!@£$%^&*".replaceRegexp("^\\d", "") // 23qWe456!@£$%^&*
/* Removal of the series of numbers at the beginning of the string */
"123qWe456!@£$%^&*".replaceRegexp("^[0-9]+", "") // qwe456!@£$%^&*
"123qWe456!@£$%^&*".replaceRegexp("^\\d+", "") // qwe456!@£$%^&*
/* Removal of the single number at the end of the string */
"123QWE456rty789".replaceRegexp("\\d$", "") // 123QWE456rty78
/* Removal of the series of numbers at the end of the string */
"123QWE456rty789".replaceRegexp("\\d+$", "") // 123QWE456rty
/* Removal of all numbers preceded by a non-number */
":123QWE456rty789".replaceRegexp("(?<=\\D)\\d", "") // :23QWE56rty89
/* Removal of all numbers not preceded by a non-number */
":123QWE456rty789".replaceRegexp("(?<!\\D)\\d", "") // :1QWE4rty7
/* Removal of all numbers followed by a non-number */
"432:123QWE456rty789".replaceRegexp("\\d(?=\\D)", "") // 43:12QWE45rty789
/* Removal of all numbers not followed by a non-number */
"432:123QWE456rty789".replaceRegexp("\\d(?!\\D)", "") // 2:3QWE6rty
/* Removal of all single lowercase letters */
"123qWe456RTY!@£$%^&*".replaceRegexp("[a-z]", "") // 123W456RTY!@£$%^&*
"123qWe456RTY!@£$%^&*".replaceRegexp("\\l", "") // 123W456RTY!@£$%^&*
/* Removal other than single lowercase letter */
"123qWe456RTY!@£$%^&*".replaceRegexp("\\L", "") // qe*
/* Removal of all single uppercase letters */
"123qWe456RTY!@£$%^&*".replaceRegexp("[A-Z]", "") // 123qe456!@£$%^&*
"123qWe456RTY!@£$%^&*".replaceRegexp("\\u", "") // 123qe456!@£$%^&*
/* Removal other than single uppercase letter */
"123qWe456RTY!@£$%^&*".replaceRegexp("\\U", "") // WRTY
```