CSharp · Console
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
var input = " smth, value, 'val ', ' name surname' ";
var result = Regex.Replace(input, "'(?<text>[^']+?)'", m =>
{
var replacement = "¤";
return $"'{m.Groups["text"].Value.Replace(" ", replacement)}'";
});
Regex regex = new Regex(" (¤^ ¤+) ");
string cleanString = regex.Replace(input, "[$1]");
string expected = " smth, value, 'val¤', '¤name¤surname' ";
Console.WriteLine("Are equal = {0}", cleanString == expected);
Console.WriteLine("Are equal = {0}", result == expected);
}
}