参考: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 STRING   返回字符串。
STRING(Expression1, ..., Expressionn]
 

◈ 将数值数组转换为字符串数组:
  
b=STRING(INDGEN(5))

 02 STRCMP   比较字符串,一样返回1,不一样返回0,默认大小写敏感。
STRCMP(Str1, Str2 [, N], /FOLD_CASE)
◈ N:比较前N个字符
◈ FOLD_CASE:设置此项后大小写不敏感
 

◈ 返回值:1
  STRCMP(, /FOLD_CASE)

◈ 返回值:0
  STRCMP('Moose', 'mooMD', 4, /FOLD_CASE)

 03 STRMATCH  

字符串进行比较,一致返回1,不一致返回0。
STRMATCH(Str, SearchStr, /FOLD_CASE)
◈ SearchStr:可以使用通配符,*表示所有字符,?表示一个字符,[...]可选择符

 

◈ 返回值:1
  STRMATCH('alexlee', 'alex?ee')

◈ 返回值:0
  STRMATCH('alexlee', 'alex[abc]ee')

◈ 返回值:1
  STRMATCH('alexlee', 'alex[abclmn]ee')

 04 STRCOMPRESS   将字符串中的空格和Tab等压缩成一个空格。
STRCOMPRESS(String, /REMOVE_ALL)
◈ REMOVE_ALL:删除所有空格
 

◈ 返回值:alex lee
  STRCOMPRESS('alex    lee')

◈ 返回值:alexlee
  STRCOMPRESS('alex    lee', /REMOVE_ALL)

 05 STRJOIN   将字符串数组合并成一个字符串。
STRJOIN(String [, Delimiter], /SINGLE)
◈ String:字符串数组
◈ Delimiter:用于连接数组的分隔符
 

◈ 返回值:ABCCDEFG
  STRJOIN(['ABC', 'CDE', 'FG'])

◈ 返回值:ABC-CDE-FG
  STRJOIN(['ABC', 'CDE', 'FG'], '-')

 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)

   

【216】◀▶ IDL 字符串操作说明的更多相关文章

  1. 【216】◀▶ IDL 字符串操作说明 (黑底)

    参考:String Processing Routines —— 字符串处理函数 参考:IDL_String Methods 01   STRING 返回字符串. 02   STRCMP 比较字符串, ...

  2. IDL 字符串

    1.创建字符串 字符串和字符串数组通过赋值或函数方式来创建.在IDL字符串用" "或' '括起来表示. IDL> s1="abcdef" IDL> ...

  3. 【215】◀▶ IDL 文件操作说明 (黑底)

    参考:I/O - General File Access Routines —— 基本文件操作函数 01   CD 修改当前的工作空间路径. 02   FILE_SEARCH 对文件名进行特定的查找. ...

  4. 【215】◀▶ IDL 文件操作说明

    参考:I/O - General File Access Routines —— 基本文件操作函数 01   CD 修改当前的工作空间路径. 02   FILE_SEARCH 对文件名进行特定的查找. ...

  5. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  6. C语言学习书籍推荐《明解C语言》下载

    柴田望洋 (作者), 管杰 (译者), 罗勇 (译者) <明解C语言>是日本的C语言经典教材,自出版以来不断重印.修订,被誉为“C语言圣经”.作者在日本IT界家喻户晓,出版过一系列极富影响 ...

  7. RPC远程过程调用实例详解

    1.创建IDL文件,定义接口. IDL文件可以由uuidgen.exe创建. 首先找到系统中uuidgen.exe的位置,如:C:\Program Files\Microsoft Visual Stu ...

  8. Netty之网络编程数据编码

    一.概况 我们在进行网络编程中会把各种数据转换为byte数据以便能在网络上传输,最常见的网络字节序--Little-Endian和Big-Endian,也让好多初进网络编程的新手摸不着头脑,还有按位或 ...

  9. 【224】◀▶ IDL NetCDF 文件操作说明

    参考:I/O - NetCDF Routines —— NetCDF 操作函数 01   NCDF_OPEN 打开一个 NetCDF 文件. 02   NCDF_CLOSE 关闭一个 NetCDF 文 ...

随机推荐

  1. Windows 系统 vs2012 MinGW 编译ffmpeg 静态库

    Windows系统下 vs2012编译ffmpeg 动态库 前面已经有文章讲述,本文将讲述如果编译生成ffmpeg静态库以方便 在vs2012下调用. 准备工作:安装MinGW环境,修改ffmpeg配 ...

  2. MOS管驱动详解

    1.常用的几种电平转换方案 2.三极管的电平转换及驱动电路分析 3.三级管老怀 4.关于MOSFET管驱动电路总结 5.一个IIC的5V和3.3V电平转换的经典电路分享 6.mos 7.mos应用 8 ...

  3. java 堆和栈一般理解

    栈与堆都是Java用来在Ram中存放数据的地方.与C++不同.Java自己主动管理栈和堆.程序猿不能直接地设置栈或堆.  Java的堆是一个执行时数据区,类的(对象从中分配空间.这些对象通过new.n ...

  4. cygwin配置个人环境,android模拟器root映象和Babun

    零.Windows命令行个人设置 @echo off :: Temporary system path at cmd startup ::set PATH=%PATH%;"C:\Progra ...

  5. JavaScript通过正则随机生成电话号码

    没有接口,就只能自己模拟Json数据了 恰好需要模拟一些电话号码,我又懒得自己随便写, 不如写一个小功能就用来实现随机生成电话号码 <!DOCTYPE html> <html lan ...

  6. splittability A SequenceFile can be split by Hadoop and distributed across map jobs whereas a GZIP file cannot be.

    splittability CompressedStorage     Skip to end of metadata   Created by Confluence Administrator, l ...

  7. mybatis入门(四)

    mybatis入门 需求:根据id查询用户的信息 mysql数据库: CREATE TABLE `user` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `us ...

  8. tornado之异步web服务二

    前面介绍了异步方法带来的显著性能提升.我们来看下异步使用的方法. 1 首先对于get方法使用tornado.web.asynchronous进行装饰.当使用tornado.web.asynchrono ...

  9. 虚拟机linux安装mysql

    安装mysql时需要的全套安装包 mysql-5.1.73-3.el6_5.i686.rpm mysql-libs-5.1.73-3.el6_5.i686.rpm mysql-server-5.1.7 ...

  10. HZNU 与班尼特·胡迪一起攻破浮空城 【DP】

    题目链接 http://acm.hznu.edu.cn/OJ/problem.php?id=2264 思路 从终点往起点走 然后每次更新状态 因为要满足 最短路线 所以其实 只能是 往左走,往下走 或 ...