Я читаю данные из файла и анализирую их для хранения в некоторых переменных. Данные записываются в файл, как показано ниже,
INT_VALUE = 17 # Valid Integer
INT_VALUE1 23
INT_VALUE2 = 00012
INT_VALUE3 -2
INT_VALUE4 -33
В некоторых местах есть пробелы и '=' в некоторых других местах. При чтении я получаю свой поток% val с '=', и мое значение получается как ' = 17'
, из которого мне нужно удалить = и пробелы между символом '=' и первым числом и сохранять как действительное число.
В некоторых других случаях между числами могут быть пробелы, что должно быть ошибкой.
Недопустимыми значениями будут любые нецелые / действительные значения со специальными символами. Например,
INT_VALUE13 34=5434
INT_VALUE14 -23 45-33
INT_VALUE15 = 23-45*665Rtre
INT_VALUE16 -23.4
INT_VALUE17 1.4E9r23
INT_VALUE18 -5.D-3.3
INT_VALUE19 233 ddf
INT_VALUE20 -87 dfsdf
INT_VALUE21 = rtmr,t23./
Как убрать пробелы в фортране?
Моя функция,
character(60) function sweep_blanks(in_str)
character(*), intent(in) :: in_str
character(60) :: out_str
character :: ch
integer :: j
out_str = " "
do j=1, len_trim(in_str)
ch = in_str(j:j)
if (ch .ne. " ") then
out_str = trim(out_str) // ch
endif
sweep_blanks = out_str
end do
end function sweep_blanks
Это удаляет все пробелы, независимо от того, в середине или в конце или в начале, что не помогает.