I'm trying to remove the first 0
and the last 1
in the string 00211
, but instead of 021
I get 21
:
String temp = "00211";
TRegEx RegExp;
temp = RegExp.Replace(temp, "^0|1$", "", (TRegExOptions)roNone);
ShowMessage(temp); // "21", but I expect "021"
A similar issue with the expression ^.
- instead of removing the first char only, it drops them all.
How can I fix this? I'm using C++Builder 10.2.3 Tokyo.
Same code in Javascript works fine:
console.log("00211".replace(/^0|1$/g, ""))
And in C++, if I use g++ and std::regex
, it works:
cout << regex_replace("00211", regex("^0|1$"), ""); // "021"