参考:String Processing Routines —— 字符串处理函数


01   STRING 返回字符串。
02   STRCMP 比较字符串,一样返回1,不一样返回0,默认大小写敏感。
03   STRMATCH 字符串进行比较,一致返回1,不一致返回0。
04   STRCOMPRESS 将字符串中的空格和Tab等压缩成一个空格。
05   STRJOIN 将字符串数组合并成一个字符串。
06   STRLEN 返回字符串的长度。
07   STRPOS 字符串中字符所在的索引值,返回数值。
08   STRMID 字符串截取,返回截取后的字符串。
09   STRPUT  将后面字符串替换前面相同数目的字符串。
10   STRSPLIT 默认返回拆分索引数组,也可返回拆分字符串数组。
11   STRTRIM  删除字符串前后的空格。
12   STRUPCASE  字符串大写。
13   STRLOWCASE 字符串小写。

序号 名称  

功能说明

  语法 & 举例
01 ENVI   运行ENVI程序并返回程序的对象引用。
ENVI([, Keywords=value] [, Properties=value])
 

◈ 举例:
  e = ENVI(/HEADLESS)

 02 ENVI::Close   方法:退出ENVI程序并关闭窗体。
ENVI.Close [, ERROR=variable]
◈ ERROR:执行程序时的错误信息
 

◈ 举例:
  e.Close

 03 ENVI::OpenRaster  

方法:从一个文件建立一个新的 ENVIRaster
Result ENVI.OpenRaster(URI [, Keywords=value])
◈ URI:数据的路径

 

◈ 举例:
  raster = e.OpenRaster(filepath)

 04 ENVI::CreateRaster   方法:创建一个 ENVIRaster 并将其写入到一个文件中。
ResultENVI.CreateRaster(URI [, Data] [, DATA_IGNORE_VALUE=value] [, DATA_TYPE=variable] [, ERROR=variable] [, INHERITS_FROM=ENVIRaster] [, INTERLEAVE=string] [, METADATA= ENVIRasterMetadata][, NBANDS=variable] [, NCOLUMNS=variable] [, NROWS=variable] [, SPATIALREF=ENVISpatialRef] [, TIME=ENVITime])
◈ URI:数据的路径
◈ Data:数组
◈ INHERITS_FROM=ENVIRaster:参考的 ENVIRaster
  ◈ 举例:
  resultFile = 'D:\01-Working\2017\20171204-IDL平均计算\mm.tif'
  newRaster = e.CreateRaster(resultFile, data, INHERITS_FROM = raster)
  newRaster.Save
 05 STRJOIN   将字符串数组合并成一个字符串。
STRJOIN(String [, Delimiter], /SINGLE)
◈ String:字符串数组
◈ Delimiter:用于连接数组的分隔符
 

◈ 举例:
  resultFile = 'D:\01-Working\2017\20171204-IDL平均计算\mm.tif'
  newRaster = e.CreateRaster(resultFile, data, INHERITS_FROM = raster)
  newRaster.Save

 06 STRLEN  

返回字符串的长度。
STRLEN(Expression)

   
 07 STRPOS  

字符串中字符所在的索引值,返回数值。
STRPOS(Expression, Search_String [, Pos], /REVERSE_OFFSET, /REVERSE_SEARCH)
◈ Pos:开始搜索的索引值
◈ REVERSE_OFFSET:开始索引从后面计算
◈ REVERSE_SEARCH:从后面开始搜索

 

◈ 返回值:0
  STRPOS('fun is fun', 'fun')

◈ 返回值:7
  STRPOS('fun is fun', 'fun', /REVERSE_SEARCH)

)

, /REVERSE_OFFSET)

 08 STRMID  

字符串截取,返回截取后的字符串。
STRMID(Expression, First_Character [, Length], /REVERSE_OFFSET)
◈ First_Character:开始搜索的索引值
◈ Length:搜索的长度,默认到最后
◈ REVERSE_OFFSET:索引值从后往前算

 

◈ 返回值:lexbnlee
  STRMID()

◈ 返回值:ee
  STRMID('alexbnlee', 1, /REVERSE_OFFSET)

◈ 返回值:bn
  STRMID('alexbnlee', 4, 2)

 09 STRPUT  

将后面字符串替换前面相同数目的字符串。
STRPUT, Destination, Source [, Position]
◈ Destination:变量,操作后发生变化
◈ Source:字符串
◈ Position:替换的位置索引,默认是0

 

◈ 变量 A = "ALEXBNLEE"
◈ 返回值:IDLXBNLEE
  STRPUT, A, "IDL" & PRINT, A

◈ 变量 A = "ALEXBNLEE"
◈ 返回值:ALEXBNIDL
  STRPUT, A, "IDL", 6 & PRINT, A

 10 STRSPLIT   默认返回拆分索引数组,也可返回拆分字符串数组。
STRSPLIT(String [, Pattern] [, COUNT=variable] [, ESCAPE=string] [, /FOLD_CASE]] [, /EXTRACT|, LENGTH=variable])
◈ String:欲拆分的字符串或字符串数组
◈ Pattern:字符串分隔符,默认是空格/TAB
◈ COUNT=variable:得到拆分后得到数组的元素个数
◈ ESCAPE=string:删除符合的string值
◈ FOLD_CASE:大小写不敏感
◈ EXTRACT:返回字符串数组
◈ LENGTH=variable:拆分后,字符串数组中每个字符串的长度,返回值为数组
 

◈ 变量 str = "alex is so cute"
◈ 变量 str1 = "alex-is-so-cute"
◈ 返回值:[0, 5, 8, 11]
  STRSPLIT(str)
  STRSPLIT(str1, "-")

◈ 变量 str = "alex is so cute"
◈ 处理后,count=4
  STRSPLIT(str, COUNT=count)

◈ 变量 str2 = ";alex;-;is;-;so;-;cute;"
◈ 返回值:alex-is-so-cute
  STRSPLIT(str2, ESCAPE=";", /EXTRACT)

◈ 变量 str = "alex is so cute"
◈ 处理后,length=[4, 2, 2, 4]
  STRSPLIT(str, LENGTH=length)

 11 STRTRIM  

删除字符串前后的空格。
STRTRIM(String [, Flag])
◈ Flag:0=后空格,1=前空格,2=前后空格

 

STRTRIM(a):去掉后面的空格
STRTRIM(a, 1):去掉前面的空格
STRTRIM(a, 2):去掉前后的空格

 12 STRUPCASE  

字符串大写。
STRUPCASE(String)

 
 13 STRLOWCASE  

字符串小写。
STRLOWCASE(String)

   

【271】IDL-ENVI二次开发的更多相关文章

  1. ENVI二次开发模式下的Landsat数据读取

    从usgs网站或者马里兰大学下载TM或Landsat原始数据,数据可能包括9个tif数据,两个txt文件和一个gtf文件.示例结构如下: ENVI下可以直接打开*_MTL.txt文件打开,打开后波段列 ...

  2. 2014年ENVI/IDL遥感应用与开发培训班-11月重庆站 開始报名了

    主办单位: 中国遥感应用协会 Esri中国信息技术有限公司 内容简单介绍: 依据中国遥感应用协会栾恩杰理事长推动国内遥感技术和应用的指示精神,2014年中国遥感应用协会组织培训交流部与Esri中国信息 ...

  3. ENVI/IDL与ArcGIS集成开发的三种途径

    转载:本文来自ENVI5.0-IDL8.2系列产品白皮书_201303.PDF(Esri中国官网可下载)中P7-P10 ENVI 是一个非常开放的平台,提供一个健全的函数库,几乎涵盖ENVI 平台大部 ...

  4. Catia 二次开发资料(转)

    Catia 二次开发 CATIA V5在开发之初就遵循面向对象的设计思想(OO),构建了完全基于组件的体系结构(PPR: Products,Process,Resource),有效地解决了维护.管理. ...

  5. 关于搬运CSDN上学生信息管理系统的阅读与二次开发

    关于本篇博客内容,我大概分成了三个部分进行讲述:对于源代码的解读.二次重开发后程序的介绍和自己在做完对他人代码的解读和重开发后自己的一些感想. 一.  源代码的解读 在本部分的解读中主要分为三部分:该 ...

  6. Navisworks API 简单二次开发 (自定义工具条)

    在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...

  7. [连载]《C#通讯(串口和网络)框架的设计与实现》- 12.二次开发及应用

    目       录 第十二章     二次开发及应用... 2 12.1        项目配制... 3 12.2        引用相关组件... 4 12.3        构建主程序... 5 ...

  8. OBS-Studio二次开发记录

    OBS-Studio 是一款跨平台的,开源的视频直播客户端软件. 公司需要对他进行二次开发,开发的目的是使用它的录屏功能. 开发的要求是:定制全新的界面,所见即所得,window系统兼容要好. 开发步 ...

  9. 小猪cms微信二次开发之怎样分页

    $db=D('Classify'); $zid=$db->where(array('id'=>$this->_GET('fid'),'token'=>$this->tok ...

随机推荐

  1. libvirt cpu mode

    libvirt中 cpu mode可以有以下3种: custom : 该模式下cpu element用来描述guest可见的CPU,该模式也是mode的default模式,它会使得persistent ...

  2. iOS 使用宏定义函数和代码块

    iOS使用宏定义函数和代码块 今天在开发过程中碰到一个问题:就是父类中要向外发送通知,然后子类中或者其他类中来接收它.当然一般是把它写到类方法中去,但是有个问题,就是如果调用的类不是它的子类,就不能直 ...

  3. hdu4217splay

    题意:有1到n的数组,每次删除第k小的值,并求和 题解:splay基本操作,删除+合并 坑点:由于不会c++指针操作,sb的只删除了头指针导致一直mle #include<bits/stdc++ ...

  4. 使用Spring MVC表单标(转)

    概述     在低版本的Spring中,你必须通过JSTL或<spring:bind>将表单对象绑定到HTML表单页面中,对于习惯了Struts表单标签的开发者来说,Spring MVC的 ...

  5. mysql备份shell脚步

    #!/bin/bash  #Shell Command For Backup MySQL Database Everyday Automatically By Crontab     USER=roo ...

  6. EXCEL对比重复数据

    一.       EXCEL 突出重复项 1.      选择对应的数据 EXCEL 里选择好数据 2.      选择条件格式 这样就完成了数据重复的突出,可以按条件筛选.选择自己想要的数据

  7. [转载] Java开发在线编辑Word同时实现全文检索

    一.背景介绍 Word文档与日常办公密不可分,在实际应用中,当某一文档服务器中有很多Word文档,假如有成千上万个文档时,用户查找打开包含某些指定关键字的文档就变得很困难,一般情况下能想到的解决方案是 ...

  8. LINUX下SYN FLOOD攻击及LINUX下SYN攻防简述

    LINUX下SYN攻防战如下 (一)SYN攻击原理 SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费服务器CPU和内存资源.SYN攻击聊了能影响主机外,还可以危害路 ...

  9. 33 python 并发编程之IO模型

    一 IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步.异步.阻塞.非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非 ...

  10. Codeforces Round #258 (Div. 2)C(暴力枚举)

    就枚举四种情况,哪种能行就是yes了.很简单,关键是写法,我写的又丑又长...看了zhanyl的写法顿时心生敬佩.写的干净利落,简直美如画...这是功力的体现! 以下是zhanyl的写法,转载在此以供 ...