参考: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. 前言(CSDN也有Markdown了,好开森)

    实战出精华 在具体的C++网络编程中提升你的逼格 John Torjo Boost.Asio C++ 网络编程 Copyright © 2013 Packt Publishing 关于作者 做为一名权 ...

  2. 开关电路_MOS和三极管

    https://blog.csdn.net/acelit/article/details/70171312 绍过一般的电源开关电路,控制电源的目的是省电,控制静态电流.不过以下的电路存在着几个缺点:  ...

  3. python缺省参数

    def test(a,b=22): result=a+b print("resuLt=%d"%result) test(33,33) #缺省参数的意思就是,函数在有参数的情况下,调 ...

  4. VCC/AVCC/VDD/AVDD区别

    V*与AV*的区别是:数字与模拟的区别CC与DD的区别是:供电电压与工作电压的区别(通常VCC>VDD): 数字电路供电VCC 模拟电路供电AVCCVDD是指工作电压,就是供电进芯片的 AVDD ...

  5. vue-router 介绍

    vue-router是官方的路由管理工具,用于组建单页面应用很方便快捷.还记得我们在上一篇文章中,使用vue-cli创建的hello-vue的那个项目吗?打开项目,我们先看下目录结构: 看了上面的目录 ...

  6. 侧边打赏-html

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  7. Java 多线程1(转载)

    来源:http://hllvm.group.iteye.com/group/wiki/2877-synchronized-volatile 最近想将java基础的一些东西都整理整理,写下来,这是对知识 ...

  8. apktool + eclipse 动态调试APK

    用了会AndBug,尽管挺强大的可是作为习惯了OD.EDB作为动态调试工具的人,自然有些不习惯,于是乎寻求新的动态调试解决方式.但大多数都是NetBeans + apktool.想着还得多下一个IDE ...

  9. OBS桌面视频直播软件/推流工具使用指南

    OBS 操作指南 什么是OBS? Open Broadcaster Software 是一款好用的互联网流媒体直播内容输入作软件. OBS使用是否收费? 不收费,这个程序和它的源代码都是免费的. OB ...

  10. WildFly JBoss 应用程序服务器

    https://en.wikipedia.org/wiki/WildFly [实现基于面向服务的架构SOA的web应用和服务] WildFly,[1] formerly known as JBoss ...