.NET 4.x Оставить только определённые символы в строке - C#
Формулировка задачи:
Был как-то у меня код как оставить в строке только те символы, которые мне нужны...
Это делалось через регулярные выражения, я забыл как...
Символы вроде указывались как-то так: ("^итутмоисимволы");
Например мне нужно из строки "1:5462&5829$$;" оставить символы ":58$"
Получается останется: ":558$$"
Как такое осуществить регулярными выражениями?
Циклами осуществляется так:
string symbols = ":58$";
string text = "1:5462&5829$$;";
string result="";
for (int i = 0; i < symbols.Length; i++)
for (int j = 0; j < text.Length; j++)
if (text[j] == symbols[i])
result += text[j];
Поправочка...
Циклами вот так:
string symbols = ":58$";
string text = "1:5462&5829$$;";
string result="";
for (int i = 0; i < text.Length; i++)
for (int j = 0; j < symbols.Length; j++)
if (text[i] == symbols[j])
result += text[i];Решение задачи: «.NET 4.x Оставить только определённые символы в строке»
textual
Листинг программы
using System;
using System.Linq;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
internal class Program
{
static void Main(string[] args)
{
string text = @"1:5462&5829$$;";
var matches = Regex.Matches(text, @"[58\$]+").Cast<Match>().Select(i => i.Value).ToArray();
Console.WriteLine(string.Join("", matches));
}
}
}