Вы можете использовать RegEx
, чтобы сделать это, и можете создать метод, который принимает переменные (так что вы можете указать символ и минимальное количество последовательных экземпляров для замены вместе со строкой замены:
public static string ReplaceConsecutiveCharacters(string input, char search,
int minConsecutiveCount, string replace)
{
return input == null
? null
: new Regex($"[{search}]{{{minConsecutiveCount},}}", RegexOptions.None)
.Replace(input, replace);
}
Затем его можно назвать как:
static void Main()
{
var testStrings = new List<string>
{
"Has spaces scattered throughout the body .",
" starts with spaces and ends with spaces "
};
foreach (var testString in testStrings)
{
var result = ReplaceConsecutiveCharacters(testString, ' ', 4, "|");
Console.WriteLine($"'{testString}' => '{result}'");
}
GetKeyFromUser("\nDone! Press any key to exit...");
}
Выход