str 函數
建議能增加幾個常用的字串函數
(1)
GetStrByWall( s, n ,wall ) // 取出第幾個字串
例如
GetStrByWall( 'A,B,C,D,E,F,G,H', +5, ',' ); --> "從左往右找" 取出第5個字串, 得到字串 'E';
GetStrByWall( 'A,B,C,D,E,F,G,H', +2, ',' ); --> "從左往右找" 取出第2個字串, 得到字串 'B';
GetStrByWall( 'A,B,C,D,E,F,G,H', -2, ',' ); --> "從右往左找" 第2個字串, 得到字串 'G';
(2)
StrCount ( );
例如
StrCount ( 'A/B/C/D/E/F/G/H', '/' ) ;
得到 以 '/' 作為區隔的字串共有 8 個
(3)
GetStrStart( s , s2, n ) // 計算 s2 第 n 次出現的位置
例如:
GetStrStart( 'AB,FF, AB,GG ' , 'AB', 2 ) ;
"從左往右找" 得到 AB 第 2 次出現的位置在 7
"從右往左找" GetStrStart('AB,FF, AB,GG ' , 'AB', -2 ) ;
得到 AB 第 2 次出現的位置在 1;
(4)
GetStrIn2Wall( )
例如
GetStrin2Wall( 'A 123 B 456 C 789 A 000 B 333 C 555 ' , 'A','B' ,2) ;
取出夾在 'A' , 'B' 中間的字串 , 而且是第2 個
得到 ' 000 ';
(5)
StrReplace() 取代
Replace('A111A222 ', 'A', 'GG') ;
得到 'GG111GG222'
(6)
StrInsert() 插入
例如:
StrInsert( '123456789' , 5 , ' AAA ' ,1) ;
'前插' 得到 '1234 AAA 56789'
StrInsert( '123456789' , 5 , ' AAA ' ,-1) ;
'後插' 得到 '12345 AAA 6789'
(7)
StrInsertBy位置() 依位置插入
例如:
StrInsertBy位置( '123456789' , 5 , '@@@' , 1) ;
'前插' 得到 '1234@@@89'
'後插' 得到 '12345@@@9'
(8)
StrRepeat()
例如
StrRepeat( 'ABC' , 3) ; // 'ABC' 重複 3 次
得到 'ABCABCABC';
可以用來
(a) 方便排版 ( 版面欄位大小配置 )
(b) 預配一個空間 , 配合函數 StrInsertBy位置() , 對於巨量字串相連接時 , 會比 str1 + str2 + str3...來的快很多
======================
以上全部都能由奇狐現有的函數 , 拼裝出來 , 但是有些很麻煩哩 , 不斷的裸碼內嵌換來就是程式碼的膨脹和不好維護
__________________
偶而是不是也感覺有些老
像個大人般的戀愛
有時心情糟
請你相信我在你身邊別忘了
|