Fortran 访问字符子串

示例

对于角色实体

character(len=5), parameter :: greeting = "Hello"

子串可以用语法引用

greeting(2:4)  ! "ell"

要访问单个字母,仅写是不够的

greeting(1)    ! This isn't the letter "H"

greeting(1:1)  ! This is "H"

对于字符数组

character(len=5), parameter :: greeting(2) = ["Hello", "Yo!  "]

我们有子字符串访问

greeting(1)(2:4)  ! "ell"

但是我们不能引用不连续的字符

greeting(:)(2:4)  ! The parent string here is an array

我们甚至可以访问文字常量的子字符串

"Hello"(2:4)


字符变量的一部分也可以通过使用子字符串作为变量来定义。例如

integer :: i=1
character :: filename = 'file000.txt'

filename(9:11) = 'dat'
write(filename(5:7), '(I3.3)') i