在字符串中搜索標記--labview字符串函數之一
允許空標記?確定函數在遇到多個相鄰分隔符時是否能識別標記。如允許空標記?的值為FALSE(默認值),多個相鄰的分隔符可以分隔輸入字符串中的兩個標記。如允許空標記?的值為TRUE,在每個相鄰分隔符對之間都將返回空的標記字符串。 | |||||||||||||||
輸入字符串是要搜索標記的字符串。 | |||||||||||||||
偏移量是輸入字符串中開始掃描的點。默認值為0,即字符串的起始位置。 | |||||||||||||||
運算符是字符串數組,如輸入字符串包含字符串數組,即使它們沒有被分隔符分隔,函數仍將其視為標記。如輸入字符串的一部分匹配多個運算符,函數將把最長的匹配作為標記。例如,如>、=和>=被定義為運算符,輸入字符串4>=0將生成>=作為下一個標記字符串,偏移量為1。 運算符中的字符串可能包含下列特殊格式代碼,用于將整個數字作為單個標記進行掃描。
| |||||||||||||||
分隔符該字符串數組可作為標記分隔符。分隔符中的字符串不會作為標記返回,而是用于分隔相鄰的標記。默認的分隔符為空格字符:空格、制表符、換行符和回車。 | |||||||||||||||
使用緩存中的分隔/運算數據?是可選的高級輸入端。如沒有連線,標記字符串仍為正常狀態(tài)。通過使用緩存中的分隔/運算數據?可以顯著改進字符串解析的性能。在標記字符串第一次執(zhí)行時,應將使用緩存中的分隔/運算數據?設置為FALSE,在接下來的執(zhí)行中,只要運算符和分隔符沒有改變,就將其設置為TRUE。使用移位寄存器并將常量FALSE作為輸入,TRUE作為輸出,可保證運算符和分隔符在循環(huán)執(zhí)行中沒有改變的情況下正確運行。如使用緩存中的分隔/運算數據?的值為TRUE,并且運算符或分隔符在上次執(zhí)行時發(fā)生了改變,將產生錯誤的結果。如運算符和分隔符沒有連線或連線至程序框圖常量,則無需連線使用緩存中的分隔/運算數據?就可得到優(yōu)化的性能。 | |||||||||||||||
字符串輸出返回無改變的輸入字符串。 | |||||||||||||||
標記后偏移量確定在輸入字符串中的點,這些點緊隨最近找到的標記和任意的分隔符。任何對于輸入字符串的后續(xù)搜索都從該偏移量開始。如偏移量小于0或大于輸入字符串中的字符數,或者已經到達字符串的末尾,則標記后偏移量為-1。 | |||||||||||||||
標記字符串是匹配的標記。它可以是運算符中的字符串或輸入字符串中位于分隔符間的任意文本字符串。 | |||||||||||||||
標記索引如標記字符串匹配運算符中的某個元素,則值為標記字符串在運算符中的索引。如標記字符串是其它字符串,標記索引將返回-1。如函數在到達輸入字符串末尾后,仍未找到有效的運算符,標記索引將返回-2。 |
據此,我寫了一個簡單的小程序。如下:
評論