As an aside, when I see samples like this, it makes me itchy. I hope and assume that they're being used as made-up snippets just to illustrate a point, and aren't being lifted from an actual codebase.
Because... ugh... isn't it obvious? Attacker-controlled input such as URLs should never be manipulated with naive string processing! Always use a proper parsing library. Not to mention that complexities of URL encoding, character escapes, etc...
The problem is that the author is using abstractions at the wrong level, with or without his fixes. The correct solution would be something like:
var uri = new Uri( "http://foo/demo?test=a&blah=b%20c" );
var map = System.Web.HttpUtility.ParseQueryString( uri.Query );
Console.Out.WriteLine( "is blah equal to 'b c'?\n{0}", map["blah"] == "b c" );
The above example is C#, but similar code can be written in any language. It's simple, direct, and doesn't violate the "rule of six". It can be read like English:1. Construct a URI from a given string.
2. Parse the query part of the URI into a map.
3. Test if the 'blah' value in the query is "b c" as expected, with the escaped space decoded properly.
The example of how to apply the "MORF" rule in the article still has low-level operations involved, which doesn't make the code more readable. It doesn't describe the intent, which is the key thing to writing code that doesn't need comments every second line.