Фортран: удалить символы из строки - PullRequest
3 голосов
/ 11 января 2011

Как удалить символы из строки?

Например, у меня есть строка под названием «год», которую я хочу изменить с 4 символов до 2 символов. Это определяется так:

character(4) :: year = "2011"

Как обрезать строку до 2 символов, чтобы вместо year = "2011" она была year = "11"?

Ответы [ 3 ]

2 голосов
/ 11 января 2011

Вы действительно можете использовать year(3:4); однако ваша строка будет по-прежнему иметь длину четыре символа, то есть она будет содержать две ваши цифры и две пробелы. Чтобы проиллюстрировать это, вот пример:

program trunc
   character(len=4) :: year = "2011"

   write(*,'(A,A,A)') '..', year, '..'
   year = year(3:4)
   write(*,'(A,A,A)') '..', year, '..'
end program trunc

Это печатает

..2011..
..11  ..

Чтобы действительно получить "11" вместо "11 ", вам нужно присвоить значение переменной, которая может содержать только два символа.

0 голосов
/ 27 мая 2016

Используйте следующую команду:

trim(year(3:4))
0 голосов
/ 11 января 2011

Я думаю, что это year(3:4), но не цитируйте меня;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...