• 【216】◀▶ IDL 字符串操作说明


    参考: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('Moose', 'mooMD', 3, /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)

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

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

     08 STRMID  

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

     

    ◈ 返回值:lexbnlee
      STRMID('alexbnlee', 1)

    ◈ 返回值: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)

       
  • 相关阅读:
    基于jQuery的六大表单向导插件
    oracle行转列(动态行转不定列)
    PLSql自动替换---辅助写代码
    ExcelReport第一篇:使用ExcelReport导出Excel
    改HTML5里的input标签的required属性的提示为英文的
    spring boot:用redis+lua实现表单接口的幂等性(spring boot 2.2.0)
    linux(centos8):centos8.1安装(详细过程/图解)(vmware fusion/CentOS-8.1.1911-x86_64)
    linux(centos8):配置docker的cgroup driver为systemd
    linux(centos8):禁用selinux(临时关闭/永久关闭)
    linux(centos8):firewalld对于请求会选择哪个zone处理?
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/5794295.html
Copyright © 2020-2023  润新知