Удаление всех знаков препинания из строки в C#

Чтобы удалить все знаки препинания из строки в C#, вы можете использовать различные методы. Вот несколько подходов:

Метод 1: использование регулярных выражений
Вы можете использовать регулярные выражения для удаления знаков препинания из строки. Вот пример:

using System.Text.RegularExpressions;
string input = "Hello, World! How are you?";
string output = Regex.Replace(input, @"[\p{P}-[.]]+", "");
Console.WriteLine(output); // Output: Hello World How are you

Метод 2: использование LINQ и Char.IsPunctuation
Вы можете перебирать каждый символ в строке и удалять знаки пунктуации с помощью LINQ:

using System.Linq;
string input = "Hello, World! How are you?";
string output = new string(input.Where(c => !char.IsPunctuation(c)).ToArray());
Console.WriteLine(output); // Output: Hello World How are you

Метод 3: использование String.Join и Char.IsPunctuation
Вы можете разделить строку на массив слов, удалить знаки препинания из каждого слова, а затем снова объединить слова в строку:

using System;
using System.Text;
string input = "Hello, World! How are you?";
string[] words = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
StringBuilder sb = new StringBuilder();
foreach (string word in words)
{
    string cleanedWord = new string(word.Where(c => !char.IsPunctuation(c)).ToArray());
    sb.Append(cleanedWord);
    sb.Append(' ');
}
string output = sb.ToString().Trim();
Console.WriteLine(output); // Output: Hello World How are you