C# – Replace Space Inside Quotes Using Regex

c++regex

I have a string like:

" smth, value, 'val ', ' name surname' "

And I want to replace the white space inside quotes with ¤ so the result will be:

" smth, value, 'val¤', '¤name¤surname' "

Please, is there any way to do it with regex?

Best Answer

You can use regex to find text in quotas. Then use simple string replace

var input = " smth, value, 'val ', ' name surname' ";
var result =  Regex.Replace(input, "'(?<text>[^']+?)'", m =>
{
    var replacement = "¤";
    return $"'{m.Groups["text"].Value.Replace(" ", replacement)}'";
});