It is a big mistake to lead the discussion towards endless and mostly non-useful optimizations. Wiser than me already said: "preoptimization is the root of all evil."
If you do want to make such posts then start a new thread as it only adds confusion to the discussion.
Is the regex solution really slow?
Test it:
Dim s As String = "sd fs dfjklsj dflkjs dflk jsdlfkj sdlf f jweklf wjlke fwe f wef we f wef we jweflk fjwelkfj wlke wef lfw elkfw ejfl e w fwe fwe fwef we wefjlk"
Dim start As Long = DateTime.Now
For i = 1 To 100000
RemoveRedundantSpace(s)
Next
Log($"$1.2{(DateTime.Now - start) / 100000}"$)
The result on my device is 0.01 milliseconds. Does it matter if you can do it in 0.00000001 milliseconds? No.
No user will ever see any difference between the two solutions.
Q: What about the one developer that needs to do it on a trillion characters long string?
A1: I don't think that there is one.
A2: If you have very specific requirements then you should look for very specific and customized solutions.