字符串截取,长度获取
1. 字串的連接:CONCATENATE
CONCATENATE t1 t2 t3 t4 t5 t6 t7 t8 INTO result. "直接連接
CONCATENATE t1 t2 t3 t4 t5 t6 t7 t8 INTO result SEPARATED BY space. "用空格將每個字串連接
2. 拆分字串: SPLIT
DATA: str1 TYPE string,
str2 TYPE string,
str3 TYPE string,
itab TYPE TABLE OF string,
text TYPE string.
text = `What a drag it is getting old`.
SPLIT text AT space INTO: str1 str2 str3,
TABLE itab.
3. 去除多余的空格:CONDENSE
DATA: BEGIN OF sentence,
word1 TYPE c LENGTH 30 VALUE 'She',
word6 TYPE c LENGTH 30 VALUE 'oranges',
END OF sentence,
text TYPE string.
text = sentence.
CONDENSE text.“在每個連接串中間會有一個空格
CONDENSE text No-GAPS. "在後面加入NO-GAPS後,所有空格都會去除。
4.字串轉換:TRANSLATE
DATA text TYPE string.
text = `Careful with that Axe, Eugene`.
TRANSLATE text TO UPPER CASE. "轉大寫
TRANSLATE text TO LOWER CASE. "轉小寫
DATA text TYPE string.
text = `Barbcbdbarb`.
TRANSLATE text USING 'ABBAabba'. “A與B換轉 a與b換轉
5.取字串長度:STRLEN
data text type c length 20.
data: ilen type i.
text = `Barbcbdbarb`.
ilen = strlen( text ). " 括号后面需要有空格
describe field text length ilen in byte mode. "字串定義時的字節長度,一個長度等2個字節(40)
describe field text length ilen in character mode. "字串定義的長度(20)
6.从右往左截取字符串
num = STRLEN( itab2-kdmat ) - 1.
IF num > 0.
itab1-gc_ver = itab2-kdmat+num(1). "客户料号最后一码
ELSE.
itab1-gc_ver = ' '.
ENDIF.
7.截取子字串
data: text type c length 10.
data: ilen type i.
data: subtext type c length 5.
text = 'ABCDEFGHIJ'.
subtext = text+0(5). "取左邊5個字符('ABCDE')
subtext = text+3(5). "從第四個字串起取5個字符('DEFGH)
text+0(1) = 'Z'. "將第一個字符變爲'Z'
注意:+兩邊不能有空格