Это, кажется, общий вопрос для пользователей C#, и после исследования и нескольких попыток, которые я не могу использовать для жизни, я удаляю пару скобок из строки. У строки, с которой я столкнулся, есть Service (additional)
.C# удалить скобки из строки
После выполнения моих исследований я понимаю, что круглые скобки обрабатываются по-разному в Regex.Replace
. В моем исследовании также появилось несколько ответов, которые я попытался, но, похоже, ничего не сработало. Вот несколько способов, с помощью которых я попытался удалить эти скобки.
cleanValue = Regex.Replace(intVal, " ", "").Replace("(", "").Replace(")", "").Replace(",", "").Replace("/", "").Replace("-", "");
cleanValue = Regex.Replace(intVal, " ", "").Replace(@"\(", "").Replace(@"\)", "").Replace(",", "").Replace("/", "").Replace("-", "");
cleanValue = Regex.Replace(intVal, " ", "").Replace("[()]", "").Replace(",", "").Replace("/", "").Replace("-", "");
cleanValue = Regex.Replace(intVal, " ", "").Replace(@"[^a-zA-Z]", "").Replace(",", "").Replace("/", "").Replace("-", "");
Ни один из них не работал, после пошагового кода я просто увидеть пространство между «е» и «(» удалена. Могу ли я что-то отсутствует?
В случае, если кто хотел бы видеть function
, который используется здесь:
public static string CleanExtra(string intVal)
{
string cleanValue;
if (intVal == null)
{
throw new System.ArgumentException("Value cannot be null", "original");
}
else
{
//cleanValue = Regex.Replace(intVal, " ", "").Replace("(", "").Replace(")", "").Replace(",", "").Replace("/", "").Replace("-", "");
//cleanValue = Regex.Replace(intVal, " ", "").Replace(@"\(", "").Replace(@"\)", "").Replace(",", "").Replace("/", "").Replace("-", "");
//cleanValue = Regex.Replace(intVal, " ", "").Replace("[()]", "").Replace(",", "").Replace("/", "").Replace("-", "");
cleanValue = Regex.Replace(intVal, " ", "").Replace(@"[^a-zA-Z]", "").Replace(",", "").Replace("/", "").Replace("-", "");
}
return cleanValue;
}
Зачем использовать Regex для этого? Не можете ли вы использовать string.Replace()? – Crono
Это был только первый способ удалить что-то, что я споткнулся. Я попробую заменить строку на данный момент, но независимо от того, это также должно быть опцией. – user2405778
Regex предназначены для поиска шаблонов, таких как десятичные символы, буквы с верхним регистром, что-то похожее на адрес электронной почты или номер телефона и т. Д. Если вам точно известно, какой символ или строку вы хотите заменить, string.Replace - это гораздо лучший выбор, с точки зрения производительности. – Crono