【发布时间】:2018-10-08 17:40:29
【问题描述】:
如何提取 Fortran 字符串数组的子字符串?例如
program testcharindex
implicit none
character(len=10), dimension(5) :: s
character(len=10), allocatable :: comp(:)
integer, allocatable :: i(:), n(:)
s = (/ '1_E ', '2_S ', '3_E ', '14_E', '25_S' /)
i = index(s,'_')
print *,' i = ', i
n = s(1:i-1) ! or n = s(:i-1)
comp = s(i+1:)
print *,' n = ', n
print *,' comp = ', comp
end program
使用 gfortran 编译会产生错误:
testcharindex.f90:11:10:
n = s(1:i-1) 1 错误:(1) 处的数组索引必须是标量
有什么方法可以避免这里的 do 循环吗?如果可以提取字符串数组的索引,我希望应该能够提取字符串数组的动态定义子字符串(无需遍历数组元素)。我是不是太乐观了?
【问题讨论】: