Your second approach is close, however you can't use replacement commands within strings (what is between two quotes). When used in strings, they are treated as normal text.
The proper way to concatenate a string with a form value (or a replacement command) is to use the '&' operator.
For example:
{formtext: name=field; default=val}
A simple example of creating a string using a form value:
Next, I want to create a snippet with a field where I can enter either "URL_1: " or "URL_2: " or "URL_3: " and the snippet will give me the respective following text.
I couldn't figure out how to apply the example you gave me to this scenario.