字串函數 (COMPUTE 指令)
DATA LIST FREE / FullName (A20).
BEGIN DATA
"Fred Smith"
END DATA.
STRING FirstName LastName LastFirstName (A20).
COMPUTE #spaceLoc=INDEX(FullName, " ").
COMPUTE FirstName=SUBSTR(FullName, 1, (#spaceLoc-1)).
COMPUTE LastName=SUBSTR(FullName, (#spaceLoc+1)).
COMPUTE LastFirstName=CONCAT(RTRIM(LastName), ", ", FirstName).
COMPUTE LastFirstName=REPLACE(LastFirstName, "Fred", "Ted").
INDEX函數會傳回一個數字,代表字串變數 FullName值中第一個空格的位置。- 第一個
SUBSTR函數會將 FirstName 設為值中第一個空格之前 FullName 的部分。 因此,在此範例中, FirstName 的值是 "Fred"。 - 第二個
SUBSTR函數會將 LastName 設為值中第一個空格之後的 FullName 部分。 因此,在此範例中, LastName 的值是 "Smith"。 CONCAT函數將 LastName 和 FirstName的值與逗點和兩個值之間的空格結合在一起。 因此,在此範例中, LastFirst名稱 的值是 "Smith , Fred"。 由於所有字串值都在字串變數定義寬度的右側以空格填補,因此需要RTRIM函數才能從 LastName中移除所有額外的空格。REPLACE函數會將 LastFirstName 中字串 "Fred" 的任何實例變更為 "Ted"。 因此,在此範例中, LastFirst名稱 的值會變更為 "Smith , Ted"。
如需相關資訊,請參閱主題 字串函數 。