字串函數 (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 函數將 LastNameFirstName的值與逗點和兩個值之間的空格結合在一起。 因此,在此範例中, LastFirst名稱 的值是 "Smith , Fred"。 由於所有字串值都在字串變數定義寬度的右側以空格填補,因此需要 RTRIM 函數才能從 LastName中移除所有額外的空格。
  • REPLACE 函數會將 LastFirstName 中字串 "Fred" 的任何實例變更為 "Ted"。 因此,在此範例中, LastFirst名稱 的值會變更為 "Smith , Ted"。

如需相關資訊,請參閱主題 字串函數