У меня есть текстовый файл с содержимым ниже, и я хочу преобразовать его в оператор If
- Else
.
Содержание текстового файла:
11AM_3 = 0
| 11AM_1 = 1
| | 4PM_1 = 3
| | | 4PM_2 = 0
| | | | 11AM_2 = 0 : 0 (0/0)
| | | | 11AM_2 = 2 : 3 (2/0)
| | 4PM_2 = 3
| | | 4PM_3 = 0
| | | | 11AM_2 = 3 : 1 (2/0)
| 11AM_1 = 2
| | 4PM_1 = 9 : 1 (1/0)
Вот мой код, который может читать содержимое текстового файла, но я не знаю, как преобразовать его в оператор If-else.
OpenFileDialog1.Multiselect = False
OpenFileDialog1.Filter = "TXT (*.txt)|*.txt"
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim pathoftextfile As String = OpenFileDialog1.FileName
Dim sr as StreamReader = New StreamReader(pathoftextfile)
Do while sr.peek>=0
' code here to read each line and convert into if-else
Loop
sr.close()
End if
Ожидаемый преобразованный оператор if-else текстового файла должен быть таким:
If (11AM_3=0) then
If(11AM_1=1) then
If(4PM_1=3) then
If(4PM_2=0) then
If(11AM_2=0) then
return 0
Elseif(11AM_2=2) then
return 3
End if
end if
Elseif(4PM_2=3) then
If(4PM_3=0) then
If(11AM_2=3) then
return 1
end if
end if
End if
ElseIf(11AM_2=2) then
If(4PM_1=9) then
return 1
end if
end if
end if
Что я могу использовать при чтении каждого символа в строке? Как в
11AM_3 = 0
Я хочу прочитать равенства (=), чтобы я мог напечатать начало оператора If, который будет
If (11AM_3=0) then
с соответствующим «End If», тогда
11AM_1 = 1
, который будет внутри 11AM_3 (например)
If (11AM_3=0) then
If(11AM_1=1) then
и символы равенства (=) и двоеточия (:), которые указывают на то, что значение после двоеточия (:) будет возвращено, как в
11AM_2 = 0: 0
, что равно
If (11AM_2 = 0) then
return 0
End If
P.S. Я хочу вывести преобразованный оператор If
- Else
в новый текстовый файл (output.txt).