閱讀392 返回首頁    go 技術社區[雲棲]


碼棧開發手冊(四)---編碼方式開發(字符串處理相關函數)

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


本文轉自碼棧平台

最後更新:2017-05-13 08:46:38

  上一篇:go  碼棧開發手冊(四)---編碼方式開發(EXCEL處理相關函數)
  下一篇:go  碼棧開發手冊(四)---編碼方式開發(圖片相關函數)