gpt4 book ai didi

fortran - 去除字符串中的空格

转载 作者:行者123 更新时间:2023-12-01 10:45:17 54 4
gpt4 key购买 nike

我有以下代码:

  program main
character (len=15) :: abc = "te st tex t"
print *, trim(abc)
end program main

哪些输出:
 te st tex  t

我排除了所有要删除的空格,但事实并非如此。如何从字符串中删除所有空格?

最佳答案

Trim 只会删除边缘的空格,而不是中间的空格(这是几乎所有语言/库的常见行为)。如果要删除字符串中的所有空格,则必须创建自己的函数来执行此操作,遍历字符串。

前任。:

program Test

implicit none

! Variables
character(len=200) :: string

! Body of Test
string = 'Hello World 7 9'
print *, string
call StripSpaces (string)
print *, string


contains

subroutine StripSpaces(string)
character(len=*) :: string
integer :: stringLen
integer :: last, actual

stringLen = len (string)
last = 1
actual = 1

do while (actual < stringLen)
if (string(last:last) == ' ') then
actual = actual + 1
string(last:last) = string(actual:actual)
string(actual:actual) = ' '
else
last = last + 1
if (actual < last) &
actual = last
endif
end do

end subroutine

end program Test

这是在英特尔编译器上测试的,而不是在 gfortran 上测试的,但我认为它会起作用。

关于fortran - 去除字符串中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27179549/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com