6.1 J_String(总字符串,操作行为,参数值)
作用:对字符串操作函数的汇总
操作行为:是否包含 长度 取左子串 取右子串 取子串 转小写 转大写 仅数字 仅字母 仅小写 仅大写 拆分
例子:
Func StringDemo()
;1、判断字符串中有无包含某个子串,如果包含,返回子串包含的位置,否则返回0
local $str1 = "我是一个字符串"
if J_String($str1,'是否包含','字符') > 0 then
J_MsgBox('包含子串')
endif
;2、取字符串长度
local $len = J_String($str1,'长度')
J_MsgBox("长度:"&$len)
;3、从左边取子串:从左边第一个字符开始,参数值为要取的字符串长度
local $subStr1 = J_String($str1,'取左子串','2')
J_MsgBox($subStr1);我是
;4、从右边取子串:从最后一个字符开始,参数值为要取的字符串长度
local $subStr2 = J_String($str1,'取右子串','3')
J_MsgBox($subStr2);
;5、取子串:参数值需要有提供2个数据,以英文逗号割开:开始位置,截取子串长度
;将其中的“一个”提取出来,从第3个字符开始取,取2个字符
local $subStr3 = J_String($str1,'取子串','3,2')
J_MsgBox($subStr3)
;6、转化
local $str2 = "Hello"
;转成小写
local $subStr4 = J_String($str2,'转小写','')
J_MsgBox($subStr4);hello
;转成大写
local $subStr5 = J_String($str2,'转大写','')
J_MsgBox($subStr5);HELLO
;7、判断
;是否纯数字
local $str3="1234"
if J_String($str3,'仅数字','') = 1 then
J_MsgBox('字符串是纯数字')
endif
;是否纯平字母a到z,A到Z
local $str4="abcADK"
if J_String($str4,'仅字母') = 1 then
J_MsgBox('字符串是纯字母')
endif
;字母串中是否仅包括:小写字母 a到z
local $str6='abcd'
if J_String($str6,'仅小写') = 1 then
J_MsgBox('字符串中全是小写字母')
endif
;字母串中是否仅包括:大写字母 A到Z
local $str6='CDFEF'
if J_String($str6,'仅大写') = 1 then
J_MsgBox('字符串中全是大写字母')
endif
;8、拆分:返回值是数组,数组第一个元素值为子串的数量
local $str7 = "123,456,788"
local $array = J_String($str7,'拆分',',')
;拆分成几个串了
local $len = $array[0]
;其它元素
for $i = 1 to UBound($array) -1
J_LOG('元素:'&$array[$i])
next
EndFunc ;==>
6.2 J_StringReplace(总字符串,目标字符串,替换成的字符串)
作用:将一个字符串中的一段文本替换成其他文本
返回值:替换后的字符串
例子:
Func Example34()
Local $text = "1122333"
;将文本$text中的文本22替换成文本8888
Local $new_text = J_StringReplace($text, "22", "8888")
J_MsgBox($new_text)
EndFunc ;==>Example34
6.3 J_EXP_MaxCount(总字符串,正则表达式)
作用:返回满足此正则表达式匹配的个数
返回值:返回满足此正则表达式匹配的个数
例子:
Func Example35()
;声明一个名为$string的局域变量,保存文本 "hello1234hi4567good7890"
Local $string = "hello1234hi4567good7890"
;方法1,优点,速度快,一般用于批量提取
;声明一个名为$open的局域变量,保存从文本$string中提取满足正则表达式的数据集合
Local $open = J_EXP_Open($string, "\d+")
;声明一个名为$max的局域变量,保存$open数据集合中的数据个数
Local $max = J_EXP_MaxCount($open, "\d+")
;创建一个循环,从1开始遍历这个集合
For $i = 1 To $max Step 1
;声明一个名为$sub_string的局域变量,保存逐个取出集合open中的数据
Local $sub_string = J_EXP($open, "\d+", $i)
;通过系统提示框的形式显示出$sub_string里装载的数据
J_MsgBox($sub_string, $i)
Next
;方法2,优点,简单,一般用于单条提取
;声明一个名为$sub_string2的局域变量,保存文本$string中满足正则表达式\d+的第6个数据
Local $sub_string2 = J_EXP($string, "\d+", 6)
J_MsgBox($sub_string2)
;用于判断是否满足正则表达式,第三个参数(位置)必须为0
Local $result = J_EXP($string, "\w+\d+", 0)
If $result = 1 Then
J_MsgBox("满足正则表达式\w+\d+")
Else
J_MsgBox("不满足正则表达式\w+\d+")
EndIf
EndFunc ;==>Example35
6.4 J_EXP(总字符串,正则表达式,[位置:1])
作用1:通过正则表达式获得指定的文本
作用2:当位置=0的时候返回值为1或者0代表是否符合此正则表达式
例子:
Func Example35()
;声明一个名为$string的局域变量,保存文本 "hello1234hi4567good7890"
Local $string = "hello1234hi4567good7890"
;方法1,优点,速度快,一般用于批量提取
;声明一个名为$open的局域变量,保存从文本$string中提取满足正则表达式的数据集合
Local $open = J_EXP_Open($string, "\d+")
;声明一个名为$max的局域变量,保存$open数据集合中的数据个数
Local $max = J_EXP_MaxCount($open, "\d+")
;创建一个循环,从1开始遍历这个集合
For $i = 1 To $max Step 1
;声明一个名为$sub_string的局域变量,保存逐个取出集合open中的数据
Local $sub_string = J_EXP($open, "\d+", $i)
;通过系统提示框的形式显示出$sub_string里装载的数据
J_MsgBox($sub_string, $i)
Next
;方法2,优点,简单,一般用于单条提取
;声明一个名为$sub_string2的局域变量,保存文本$string中满足正则表达式\d+的第6个数据
Local $sub_string2 = J_EXP($string, "\d+", 6)
J_MsgBox($sub_string2)
;用于判断是否满足正则表达式,第三个参数(位置)必须为0
Local $result = J_EXP($string, "\w+\d+", 0)
If $result = 1 Then
J_MsgBox("满足正则表达式\w+\d+")
Else
J_MsgBox("不满足正则表达式\w+\d+")
EndIf
EndFunc ;==>Example35
正则表达式语法:
语法:
\d匹配一个数字 \D匹配非数字
\s 匹配一个空格 \S匹配非空格
\w匹配字母、数字及下划线 \W匹配非字母、非数字、非下划线
\n匹配换行
.匹配除了换行之外的任何东西
{10}匹配10次
表示重复0到若干次
+表示重复1到若干次
?表示匹配的有可能不出现
.?匹配任何数据啥玩意都行,不能换行
.+?尽可能少匹配数据,至少出现一次
匹配任何英文符号,符号前都要加”\”
[abc] 匹配abc随便哪一个字母
[^abc] 匹配除abc随便哪一个字母
(想要的数据) 抓取想要的数据用括号括起来
(?:exp)分组不抓取
6.5 J_Screct(文本,[模式:加密])
作用:用于加密一段文本. 模式:加密/解密 返回值:加密/解密后的文本
例子:
Func Example41()
Local $string = "hello123456"
Local $screct1 = J_Screct($string, "加密")
J_MsgBox($screct1)
Local $screct2 = J_Screct($screct1, "解密")
J_MsgBox($screct2)
EndFunc ;==>Example41
本文转自码栈平台
时间: 2024-10-27 05:35:21