fortran fortran中文资料网
手气不错
Article

057.trimLenTrim_TRIM、LEN_TRIM与LEN

2026年9月30日基础级

len返回字符对象的长度。

len_trim返回去掉尾部空格后剩余的字符数。

trim返回移除尾部空格后的字符值。

这些常用于格式化标签、拼接路径和检查输入有效长度;适合区分“字段容量”和“当前有效尾部位置”,但不会删除字符串开头或中间的空格。

语法结构

n = len(text)
n = len_trim(text)
clean = trim(text)
  • len包含全部字符位置,包括尾部空格。对定长变量,就是声明的len参数。
  • len_trim返回最后一个非空格字符的位置;如果全是空格,结果为0。
  • trim(text)的结果长度等于len_trim(text);如果text全是空格,结果可以是长度0的字符值。

本文代码

! 声明长度、有效尾部长度、去除尾部空格后的值。
program trimLenTrimDemo
  implicit none

  character(len=12) :: sampleName
  sampleName = "NaCl"
  print "(A,I0)", "LEN:", len(sampleName)
  print "(A,I0)", "LEN_TRIM:", len_trim(sampleName)
  write (*, "(A,A,A)") "原字符值:|", sampleName, "|"
  write (*, "(A,A,A)") "TRIM结果:|", trim(sampleName), "|"
end program trimLenTrimDemo

编译运行

(base) hong@hongdeMacBook-Pro 057.trimLenTrim % gfortran -Wall -Wextra -std=f2018 exampleTrimLenTrim.f90 -o trimLenTrimDemo
(base) hong@hongdeMacBook-Pro 057.trimLenTrim % ./trimLenTrimDemo
LEN:12
LEN_TRIM:4
原字符值:|NaCl        |
TRIM结果:|NaCl|

现象分析

sampleName声明长度为12,所以len始终返回12。NaCl占前4个位置,其余8个位置由赋值规则补为空格,因此len_trim返回4。

直接输出sampleName时,两条竖线之间包含12个字符;trim(sampleName)产生只保留NaCl有效尾部的字符结果,所以右竖线紧随l出现。

len_trim只报告位置,不修改原变量;trim返回新字符表达式,也不会原地改变sampleName。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注