Добавьте пространство вокруг каждого / используя Humanizer или Regex
У меня есть строка, подобная следующей:
var text = @"Some text/othertext/ yet more text /last of the text";
Я хочу нормализовать пробелы вокруг каждой косой черты, чтобы она соответствовала следующему:
var text = @"Some text / othertext / yet more text / last of the text";
То есть один пробел перед каждым слешем и один пробел после. Как я могу сделать это с помощью Humanizer или, за исключением этого, с одним регулярным выражением? Humanizer является предпочтительным решением.
Я могу сделать это с помощью следующей пары регулярных выражений:
var regexLeft = new Regex(@"\S/"); // \S matches non-whitespace
var regexRight = new Regex(@"/\S");
var newVal = regexLeft.Replace(text, m => m.Value[0] + " /");
newVal = regexRight.Replace(newVal, m => "/ " + m.Value[1]);
1 ответ
Решение
Вы ищете это:
var text = @"Some text/othertext/ yet more text /last of the text";
// Some text / othertext / yet more text / last of the text
string result = Regex.Replace(text, @"\s*/\s*", " / ");
косая черта, окруженная нулем или несколькими пробелами, заменена косой чертой, окруженной ровно одним пробелом.