Я работаю с Regex Class.Я пытаюсь выяснить, сколько общих совпадений имеет строка в другой строке.
Вот ситуация:
MainWindow.DetailBLL.Name = "Top Senders By Total Threat Messages"
String detailName = MainWindow.DetailBLL.Name;
Извлечено из:
MainWindow = Window Class
DetailBLL = Class
Name = Variable
public String Name
{
get { return _Name; }
set { _Name = value; }
}
CharacterReplacement(openedFile) = "Incoming Mail Domains Top Senders By Total Threat Messages"
String fileName = CharacterReplacement(openedFile);
Извлечено из:
OpenFileDialog openedFile = new OpenFileDialog();
Incoming_Mail_Domains_Top_Senders_by_Graymail_Messages_RawData.csv
private String CharacterReplacement(OpenFileDialog file)
{
String input = file.SafeFileName;
String output = input.Replace("_", " ").Replace("RawData", " ").Replace("by", "By").Replace(".csv", " ");
//output: "Incoming Mail Domains Top Senders By Graymail Messages"
return output;
}
Этот метод принимает имя файла (имя файла .csv) и преобразует его в читаемую строку, возвращаяэто как изображено.
Использование класса Regex:
String source = detailName;
String searchPattern = fileName;
1-я попытка: не работает
int count = Regex.Matches(searchPattern, source).Count;
или не работает
int count = Regex.Matches(fileName, detailName).Count;
if (count > 0)
{
System.Windows.MessageBox.Show("Match!");
}
2-я попытка: не работает
foreach (Match match in Regex.Matches(fileName, detailName))
или не работает
foreach (Match match in Regex.Matches(searchPattern, source))
{
System.Windows.MessageBox.Show("Matches: " + counter++);
}
Я кое-что заметил, Regex работает не так.Переменные не распознаются:
String source = detailName;
String searchPattern = fileName;
Работает только тогда, когда переменные похожи на это:
String source = "Top Senders By Total Threat Messages";
String searchPattern = "Incoming Mail Domains Top Senders By Total Threat Messages";
Но это не сработает для меня, мне нужно, чтобы они оценивались какнеявная (не-литеральная) строка, не такая, как явная (литеральная), приводящая к тому, что переменные меняются каждый раз.
Есть способ добраться до нее, пожалуйста?