fortran中提取字符串中可见字符的索引
fortran中常常需要提取字符串中可见字符的索引,下面是个小例子:
!=============================================================
subroutine TrimIndex(InStr,LeftIndex,RightIndex,status)
!------------------------------------------------------------
!---识别InStr中左右有效可见字符(33-126)的索引
!---如果status==0,则识别正确
!---吴徐平2013-07-20(wxp07@qq.com)
!------------------------------------------------------------
Implicit None
Character(Len =*),Intent( IN ) :: InStr
Integer,Intent( INOUT)::LeftIndex,RightIndex,status
!------------------------------------------------------------
Integer ::i
!------------------------------------------------------------
LeftIndex=0
do i=1,LEN(InStr),1
if ((IACHAR(InStr(i:i)) >32 ).AND.(IACHAR(InStr(i:i)) <127) ) then
LeftIndex=i !-左边有效可见字符(33-126)的索引
EXIT
end if
end do
!------------------------------------------------------------
RightIndex=LEN(InStr)+1
do i=LEN(InStr),1,-1
if ((IACHAR(InStr(i:i)) >32 ).AND.(IACHAR(InStr(i:i)) <127 )) then
RightIndex=i !-右边有效可见字符(33-126)的索引
EXIT
end if
end do
!--------------------------
if ((LeftIndex>0 ).AND. (LeftIndex<=RightIndex) .AND. (RightIndex<=LEN(InStr)))then
status=0 !-操作正确
else
status=-1 !-操作有误
end if
!--------------------------
end subroutine TrimIndex
下面是测试程序:
program TestTrimIndex
!-----------------------------------------
!测试TrimIndex的程序
!吴徐平 2013-07-20
!wxp07@qq.com
!编译:gfortran TestTrimIndex.f90
!-----------------------------------------
implicit none
integer :: count !-命令行参数的个数
CHARACTER(len=24) :: InStr !命令行参数
Integer::LeftIndex,RightIndex,status,i
!-----------------------------------------
count = command_argument_count() !获取主程序命令行的输入参数的个数
!------------------------------------
if (count>0) then
do i=1,count
CALL get_command_argument(i, InStr)
call TrimIndex(InStr,LeftIndex,RightIndex,status)
if (status==0)then
write(*,*)'<'//InStr//'>'
write(*,*)'<'//InStr(LeftIndex:RightIndex)//'>'
write(*,*)LeftIndex
write(*,*)RightIndex
end if
end do
else
write(*,*) 'You should input an argument!'
end if
!------------------------------------
end program
上面的子程序常用来查找字符串中第一个和最后一个不是空格字符的索引.
有图有真相,如下:
fortran中提取字符串中可见字符的索引的更多相关文章
- python 提取字符串中的指定字符 正则表达式
例1: 字符串: '湖南省长沙市岳麓区麓山南路麓山门' 提取:湖南,长沙 在不用正则表达式的情况下: address = '湖南省长沙市岳麓区麓山南路麓山门' address1 = address.s ...
- JS中substring()方法(用于提取字符串中介于两个指定下标之间的字符)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JS对象 substring() 方法用于提取字符串中介于两个指定下标之间的字符。
提取字符串substring() substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法: stringObject.substring(starPos,stopPos) 参 ...
- substring() 方法用于提取字符串中介于两个指定下标之间的字符。
substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数 描述 start 必需.一个非负的整数,规定 ...
- C++ 提取字符串中的数字
C++ 提取字符串中的数字 #include <iostream> using namespace std; int main() { ] = "1ab2cd3ef45g&quo ...
- 使用awk提取字符串中的数字或字母
1.提取字符串中的数字 $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" ' { for(i=1;i<=NF;i++) { if ($i ...
- 在SQL中取出字符串中数字部分或在SQL中取出字符部分
在SQL中取出字符串中数字部分或在SQL中取出字符部分 编写人:CC阿爸 2013-10-18 近来在开发一个项目时,一包含数字的字符串,需要取出中间的数字部分进行排序.经过baidu搜索.并结合自己 ...
- PHP提取字符串中的手机号正则表达式怎么写
0. 简介 PHP通过正则表达式提取字符串中的手机号并判断运营商,简单快速方便,能提取多个手机号. 1. 代码 <?php header("content-type:text/plai ...
- C#中查询字符串中是否包含指定字符/串,使用IndexOf还是Contains?
C#中查询字符串中是否包含指定字符/串,使用IndexOf还是Contains?这是一个很常见的命题,以前也没有注意,今天QQ群里有人提起,于是就做了下试验,代码如下: using System; u ...
随机推荐
- MySQL CPU %sys 高的案例分析(三)
[现象] 最近有台服务器晚上CPU告警,系统抓取的故障期间的snapshot显示CPU %sys较高,同时context switch在300K以上. 是否过高的context switch引起的%s ...
- Linux 系统及编程相关知识总汇
Linux C function() 参考手册 STL 学习文档 Linux内核
- 39、ABTestingGateway
2015 年度新增开源软件排名 TOP 100 - 开源中国社区 http://www.oschina.net/news/69808/2015-annual-ranking-top-100-new ...
- 详细分析Memcached缓存与Mongodb数据库的优点与作用
http://www.mini188.com/showtopic-1604.aspx 本文详细讲下Memcached和Mongodb一些看法,以及结合应用有什么好处,希望看到大家的意见和补充. Mem ...
- XML 高速入门总结
XML已经学习完了一段时间了.一直感觉知识比較琐碎,没有去好好总结.事实上越琐碎的知识也越须要我们去好好 理一下.将知识串起来.争取变得不再琐碎.以下是我学完xml画的一张图. 以下对XML进行一下简 ...
- 在 DELPHI 中 procedure 型变量与 method 型变量的区别
Procedure型变量: 在DELPHI中,函数.过程的地址可以赋给一个特殊类型的变量,变量可用如下方式声明: var p : procedure(num:integer); //过程 或: var ...
- 源码编译Tkinter
要让Python支持Tkinter, 需要首先安装tcl和tk两个软件包. 下载地址: http://www.tcl.tk/software/tcltk/download.html 或 tcl:htt ...
- Java知识回顾 (1) 编译环境与基本变量类型
参考资料 runoob Java知识回顾序列的相关资料,主要来自 runoob,并对其中的知识进行概况或总结,去除对一个之前了解过Java的人员无关的知识点.以便能够使得一个新手,或之前有Java经验 ...
- python测试开发django-37.外键(ForeignKey)查询
前言 前面在admin后台页面通过设置外键,可以选择下拉框的选项,本篇主要讲解关于外键(ForeignKey)的查询 models设计 在上一篇的基础上新增一个BankName表,Card表通过外键关 ...
- Unity3D 的大场景内存优化
我们公司的一个 MMORPG 项目最近在内存方面碰到了红线,昨天开会讨论了一下.我提出了一个改进方案,写篇 blog 记录一下. 问题是这样的.在当下的手机及平板硬件设备条件下,操作系统留给应用的可用 ...