Я довольно новичок в C#, и я работаю над небольшим проектом, но застрял на этом. У меня есть файл, содержащий некоторый код сборки. Я хочу, чтобы моя программа искала этот файл для строки, на самом деле значение сразу после моей строки. Одна из строк я ищу это:C# Поиск строки, содержащей цитаты
setproperty QName(PackageNamespace(""), "font")
getlocal 4
pushint
Мой поиск кода заключается в следующем:
private void searchFile(String searchText)
{
System.IO.StreamReader reader = new System.IO.StreamReader(file);
String text = reader.ReadToEnd();
if (Regex.IsMatch(text, searchText))
{
MessageBox.Show(searchText + " was found in the given file", "Finally!!");
}
else
{
MessageBox.Show("Sorry, but " + searchText + " could not be found in the given file", "No Results");
}
}
//when i click a button//
searchFile(@"setproperty QName(PackageNamespace(""""), ""font"")
getlocal 4
pushint ");
Я знаю, что строка в файле, но результат придумывает не найден. Я не знаю, являются ли это кавычками или вкладками или и тем, и другим, что вызывает это.
Вот часть файла:
getlocal 4
pushstring "Verdana"
setproperty QName(PackageNamespace(""), "font")
getlocal 4
pushint 16764170
setproperty QName(PackageNamespace(""), "color")
getlocal 4
pushbyte 12
setproperty QName(PackageNamespace(""), "size")
Мой второй вопрос заключается в том, как я могу получить значение первого междунар после моего результата поиска?
Заранее спасибо.
-Leen
Большое спасибо , Это не совсем сработало сразу, но мне удалось исправить это, изменив строку поиска на: string val = searchF ile ("setproperty QName (PackageNamespace (\" \ "), \" font \ ") \ n \ n getlocal 4 \ n pushint") ;. Он фактически находит строку сейчас. У меня все еще есть одна ошибка. return text.Substring (начало, конец - начало); : Длина не может быть меньше нуля. –
вы можете попробовать с этой новой версией – ionden
Perfect. Огромное спасибо. –