如何删除'=';fortran语言中的语言和值

如何删除'=';fortran语言中的语言和值,fortran,gfortran,Fortran,Gfortran,我从一个文件中读取数据并解析它们以存储在一些变量中。数据按如下方式写入文件中: INT_VALUE = 17 # Valid Integer INT_VALUE1 23 INT_VALUE2 = 00012 INT_VALUE3 -2 INT_VALUE4

我从一个文件中读取数据并解析它们以存储在一些变量中。数据按如下方式写入文件中:

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./
如何删除fortran中的空格

我的职能是

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

无论在中间还是在结尾或在开始时,这都会消除所有空白。

< P>可以使用这两个函数:代码>索引< /COD>和<代码>
  • 索引
    查找字符串中子字符串的位置
  • adjustl
    使前导毛坯跟随毛坯

    整数idx idx=索引(插入“=”)+1 伸出=调整(插入(idx:)

因此,给定输入字符串

instring = ' =        17'
instring = '                    -33'
索引
结果将为
2
,给出
idx
3
<代码>指令(3:)具有值
'17'
,从该值
adjustl
'返回
'17'

给定输入字符串

instring = ' =        17'
instring = '                    -33'

如果没有
”=
,则
索引
结果将为
0

欢迎,请显示您的代码。看。谢谢你@francescalus,它起作用了,但我还是有一些问题。如果我的值是,INT_VALUE5=-33ang=344 INT_VALUE6-34=174在这两种情况下都应该是无效的,但是我在“=”之后得到了值344和174作为有效值。您的注释相当模糊。你能解释得更多吗?或者把它作为问题的一部分,让它更清楚?在你的工作中,什么被明确定义为无效?两个数字是用空格分隔的吗?一个数字是错分隔的吗?@DeenadayalanS,看起来这个问题与拆分不同,更多的是解析字符串的最后部分。如果是这样的话,那么也许你可以把它作为一个不同的问题来问(如果必要的话,请链接到这个问题以了解上下文)。