Рейтинг:
2
OriginalGriff
Это не сложно, есть несколько способов сделать это.
Вы можете прочитать файл в виде серии строк и найти строку, начинающуюся с "Assassins Creed:" (строка.Стартсвит вам это скажет). Остальная часть линии-это ваш номер.
Вы можете прочитать весь файл в виде строки (File.ReadAllText сделает это), а затем используйте регулярное выражение, чтобы найти нужные вам данные:
private static Regex findIt = new Regex(
"(?<=Assasins Creed:\\s+)\\d+",
RegexOptions.Multiline
| RegexOptions.CultureInvariant
| RegexOptions.Compiled
);
...
Match m = findIt.Match(textFromTheFile);
if (m.Success)
{
string theValueYouWanted = m.Value;
...
}
Wither way, как только у вас есть данные, вы можете использовать int.TryParse, чтобы преобразовать его в число:
int assassinsCreedCount;
if (int.TryParse(theValueYouWanted, out assassinsCreedCount))
{
// You got it.
...
}
CaseBody
Привет, спасибо за ваш ответ!
Я попытался добавить его в свой код, но все, что я получил, - это куча ошибок. Есть ли что-нибудь, что мне нужно импортировать?
Корпус
OriginalGriff
О. Вы не используете C# ...
Попробовать это:
Частная общая найти как регулярное выражение = новое регулярное выражение("(?&ЛТ;=Ассасинс крид: и\S+)\г+", Поиск.Или Многострочный Поиск.CultureInvariant Или RegexOptions.Составленный)
А это:
Dim m As Match = findIt.Матч(textFromTheFile)
Если м. Успех,то
Dim theValueYouWanted As String = m.Value
...
Конец, Если
И
Dim theValueYouWanted As String = "hhh"
Dim assassinsCreedCount как целое число
Если int32.Метод tryparse(theValueYouWanted, assassinsCreedCount) Затем
...
Конец, Если
CaseBody
Привет, спасибо за быстрый ответ! К сожалению, все еще много ошибок, Если вы хотите, чтобы я отправил скриншот ошибок или что-то еще, дайте мне знать
OriginalGriff
Никогда не делайте скриншотов ошибок. Посмотрите на них, подумайте о том, что именно он говорит, дважды щелкните на первом и посмотрите, почему он говорит то, что говорит.
Вы никогда ничего не добьетесь, не сделав этого!
Это почти наверняка, что вы просто пошли "копировать" и "вставить", не делая "думать" в середине. :смеяться:
CaseBody
Эй, ты совершенно прав насчет копирования-вставки.
Но в основном все это ошибка так что я действительно не знаю с чего начать
OriginalGriff
Вы не можете просто скопировать и вставить: код, который вы найдете в интернете, никогда не будет работать с вашим существующим кодом без изменений. Во всяком случае, ваши имена переменных не будут совпадать! :смеяться:
Код из интернета - это не то же самое, что заливать топливо в свой автомобиль: интернет-это насос, да, но то, что выходит из сопла, - это топливо для Mercedes A класса 2018 года, а у вас есть BMW 6 серии. Попробуйте использовать его, и ваш BMW перестанет работать.
Вместо этого посмотрите на примеры, которые я вам дал, и подумайте о коде. Попытайтесь понять, что он делает, и как он работает - это должно быть довольно очевидно, что вам нужно сделать с ним, это не сложный материал.
Начните с первого: куда это должно идти?
Рейтинг:
0
MadMyche
Этот псевдокод, возможно, потребуется скорректировать синтаксис
1. Откройте файл в streamreader
2. В цикле построчно
3. проверьте значение и дисплей
Dim FILE_NAME As String = "C:\Users\Owner\Documents\Games.txt"
If System.IO.File.Exists(FILE_NAME) = True Then
Dim objReader As New System.IO.StreamReader(FILE_NAME)
Dim TextLine As String
Dim LineArray() As String
Dim LineKey As String
Dim LineValue As String
Do While objReader.Peek() <> -1
TextLine = objReader.ReadLine()
LineArray = TextLine.Split(':')
LineKey = LineArray(0)
LineValue = LineArray(1)
' if LineKey = "Assasins Creed" then LineValue will equal the desired amount
Loop
End