序号 |
名称 |
|
功能说明
|
|
语法 & 举例 |
01 |
STRING |
|
====<<<< Description >>>>====
返回字符串。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
Result = STRING( Expression1, ..., Expressionn [, AM_PM=[string, string]] [, DAYS_OF_WEEK=string_array{7 names}] [, FORMAT=value] [, /IMPLIED_PRINT] [, MONTHS=string_array{12 names}] [, /PRINT] )
----------------------------------------------------------------------------------
====<<<< Return Value >>>>====
返回值为字符串或字符串数组。 ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ Expression:表达式。 ◈ FORMAT:格式表达式,参考 format 输入输出。 参考:Format Codes
|
|
1 2 3 4 5 6 7 | IDL> ;相当与合并字符串
IDL> str = string( 'a' , 'b' , 'c' , 'd' )
IDL> str
abcd
IDL> b = string(indgen( 5 ))
IDL> help , b
B STRING = Array[ 5 ]
|
1 2 3 | IDL> ;数字补 0
IDL> string( 1 , format = '(I03)' )
001
|
|
02 |
STRCMP |
|
====<<<< Description >>>>====
比较字符串,一样返回1,不一样返回0,默认大小写敏感。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
STRCMP(Str1, Str2 [, N], /FOLD_CASE) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ N:比较前N个字符 ◈ FOLD_CASE:设置此项后大小写不敏感
|
|
1 2 3 4 5 | ◈ 返回值: 1
STRCMP( 'Moose' , 'mooMD' , 3 , / FOLD_CASE)
◈ 返回值: 0
STRCMP( 'Moose' , 'mooMD' , 4 , / FOLD_CASE)
|
|
03 |
STRMATCH |
|
====<<<< Description >>>>====
字符串进行比较,一致返回1,不一致返回0。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
STRMATCH(Str, SearchStr, /FOLD_CASE) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ SearchStr:可以使用通配符 *:表示所有字符 ?:表示一个字符 [...]:可选择符
|
|
1 2 3 4 5 6 7 8 | ◈ 返回值: 1
STRMATCH( 'alexlee' , 'alex?ee' )
◈ 返回值: 0
STRMATCH( 'alexlee' , 'alex[abc]ee' )
◈ 返回值: 1
STRMATCH( 'alexlee' , 'alex[abclmn]ee' )
|
|
04 |
STRCOMPRESS |
|
====<<<< Description >>>>====
将字符串中的空格和 Tab 等压缩成一个空格。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
STRCOMPRESS(String, /REMOVE_ALL) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ REMOVE_ALL:删除所有空格
|
|
1 2 3 4 5 | ◈ 返回值:alex lee
STRCOMPRESS( 'alex lee' )
◈ 返回值:alexlee
STRCOMPRESS( 'alex lee' , / REMOVE_ALL)
|
|
05 |
STRJOIN |
|
====<<<< Description >>>>====
将字符串数组合并成一个字符串。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
STRJOIN(String [, Delimiter], /SINGLE) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ String:字符串数组 ◈ Delimiter:用于连接数组的分隔符
|
|
1 2 3 4 5 | ◈ 返回值:ABCCDEFG
STRJOIN([ 'ABC' , 'CDE' , 'FG' ])
◈ 返回值:ABC - CDE - FG
STRJOIN([ 'ABC' , 'CDE' , 'FG' ], '-' )
|
|
06 |
STRLEN |
|
====<<<< Description >>>>====
返回字符串的长度。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
STRLEN(Expression) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ Expression:字符串表达式,如果不是字符串则按照默认规则转换成字符串进行计算,例如整数;如果是数组则按照与原数组一致的结构返回每一个要素的长度。
|
|
1 2 3 4 5 6 | IDL> strlen( 5 )
8
IDL> strlen([ 'a' , 'abc' , 'alex' ])
1 3 4
IDL> strlen( 'alex' + 'lee' )
7
|
|
07 |
STRPOS |
|
====<<<< Description >>>>====
字符串中字符所在的索引值,返回数值。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
STRPOS(Expression, Search_String [, Pos], /REVERSE_OFFSET, /REVERSE_SEARCH) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ Pos:开始搜索的索引值 ◈ REVERSE_OFFSET:Pos 从右面计算,获取从左数第一个 ◈ REVERSE_SEARCH:从后面开始搜索
|
|
1 2 3 4 5 6 7 8 9 10 11 | ◈ 返回值: 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 |
|
====<<<< Description >>>>====
字符串截取,返回截取后的字符串。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
STRMID(Expression, First_Character [, Length], /REVERSE_OFFSET) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ First_Character:开始搜索的索引值 ◈ Length:搜索的长度,默认到最后 ◈ REVERSE_OFFSET:索引值从后往前算
|
|
1 2 3 4 5 6 7 8 | ◈ 返回值:lexbnlee
STRMID( 'alexbnlee' , 1 )
◈ 返回值:ee
STRMID( 'alexbnlee' , 1 , / REVERSE_OFFSET)
◈ 返回值:bn
STRMID( 'alexbnlee' , 4 , 2 )
|
|
09 |
STRPUT |
|
====<<<< Description >>>>====
将后面字符串替换前面相同数目的字符串。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
STRPUT, Destination, Source [, Position] ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ Destination:变量,操作后发生变化 ◈ Source:字符串,新字符串 ◈ Position:替换的位置索引,默认是0
|
|
1 2 3 4 5 6 7 | ◈ 变量 A = "ALEXBNLEE"
◈ 返回值:IDLXBNLEE
STRPUT, A, "IDL" & PRINT , A
◈ 变量 A = "ALEXBNLEE"
◈ 返回值:ALEXBNIDL
STRPUT, A, "IDL" , 6 & PRINT , A
|
|
10 |
STRSPLIT |
|
====<<<< Description >>>>====
默认返回拆分索引数组,也可返回拆分字符串数组。 可用来删除字符串中指定字符。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
STRSPLIT(String [, Pattern] [, COUNT=variable] [, ESCAPE=string] [, /FOLD_CASE]] [, /EXTRACT|, LENGTH=variable]) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ String:欲拆分的字符串或字符串数组 ◈ Pattern:字符串分隔符,默认是空格/TAB ◈ COUNT=variable:得到拆分后得到数组的元素个数 ◈ ESCAPE=string:删除符合的string值 ◈ FOLD_CASE:大小写不敏感 ◈ EXTRACT:返回字符串数组 ◈ LENGTH=variable:拆分后,字符串数组中每个字符串的长度,返回值为数组
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ◈ 变量 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 |
|
====<<<< Description >>>>====
删除字符串前后的空格。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
STRTRIM(String [, Flag]) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ Flag: 0:后空格删除,默认值 1:前空格删除 2:前后空格均删除
|
|
1 2 3 | ◈ STRTRIM(a):去掉后面的空格
◈ STRTRIM(a, 1 ):去掉前面的空格
◈ STRTRIM(a, 2 ):去掉前后的空格
|
|
12 |
STRUPCASE
|
|
====<<<< Description >>>>====
字符串大写。 ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
STRUPCASE(String)
|
|
|
13 |
STRLOWCASE
|
|
====<<<< Description >>>>====
字符串小写。 ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
STRLOWCASE(String)
|
|
|
14 |
WHERE |
|
====<<<< Description >>>>====
返回值为包含查询字符串的向量。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
Result = WHERE( Array_Expression [, Count]
[, COMPLEMENT=variable]
[, /L64]
[, NCOMPLEMENT=variable]
[, /NULL]
)
----------------------------------------------------------------------------------
====<<<< Return Value >>>>====
返回值为包含查询字符串的向量。如果 /NULL 设置了,那么没有匹配的时候返回值为 !NULL。 ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ Array_Expression:要被搜索的数组表达式。 ◈ Count:返回搜索数组表达式中非零元素数目的变量。 ◈ NULL:设置这个关键字后,无匹配的话返回 !NULL 而不是 -1。 ◈ COMPLEMENT:设置关键字的变量用来获取表达式中0元素对应的下标值。 ◈ NCOMPLEMENT:设置关键字的变量用来获取表达式中0元素对应的下标值的数目。
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | IDL> a = indgen( 5 )
IDL> a
0 1 2 3 4
IDL> b = where(a gt 2 , count, complement = c, ncomplement = num_c)
; 符合表达式的下标
IDL> b
3 4
; 符合表达式的个数
IDL> count
2
; 不符合表达式的下标
IDL> c
0 1 2
; 不符合表达式的个数
IDL> num_c
3
; 用 !NULL 代替 - 1
IDL> print , where(a gt 7 )
- 1
IDL> print , where(a gt 7 , / null)
!NULL
|
1 2 3 4 5 6 7 | ; 通过判断结果是否为 - 1 或者数目是否为 0 ,可以判断数组内是否包含某要素
IDL> b = [ 'a' , 'b' , 'c' , 'd' , 'a' ]
IDL> c = where(b eq 'm' , count)
IDL> if (count eq 0 ) then print , 'no'
no
IDL> if (c eq - 1 ) then print , 'no'
no
|
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2012-08-23 【078】◀▶ HTML DOM
2012-08-23 【077】由RGB值显示颜色