上一頁|下一頁

KPROPCASE 函數

轉換中文、日文、韓文、台灣 (CJKT) 字元。

類別: DBCS

語法

str=KPROPCASE(<instr> , (<options> ))

必要的引數

str

已轉換且為目前 SAS 工作階段編碼的資料字串。

instr

輸入資料字串。

options

根據指定的選項來轉換日文、中文、韓文和台灣字元。

HALF-KATAKANA, FULL-KATAKANA

此選項會將半形片假名轉換為全形片假名,而且只與日文編碼搭配使用。

限制 此選項不能與 full-Katakana, half-Katakana 選項同時使用。

FULL-KATAKANA, HALF-KATAKANA

此選項會將全形片假名轉換為半形片假名,而且只與日文編碼搭配使用。

限制 此選項不能與 half-Katakana, full-Katakana 選項同時使用。

KATAKANA, ROMAJI

此選項會將片假名字元字串轉換為日文羅馬拼音字元字串,而且只與日文編碼搭配使用。

限制 此選項不能與 romaji, katakana 選項同時使用。

ROMAJI, KATAKANA

此選項會將日文羅馬拼音字元字串轉換為片假名字元字串,而且只與日文編碼搭配使用。

限制 此選項不能與 katakana, romaji 選項同時使用。

FULL-ALPHABET, HALF-ALPHABET

此選項會將全形字母字元轉換為半形字母字元,而且只與日文、中文、韓文和台灣編碼搭配使用。

限制 此選項不能與 Half-Alphabet, Full-Alphabet 選項同時使用。

HALF-ALPHABET, FULL-ALPHABET

此選項會將半形字母字元轉換為全形字母字元,而且只與日文、中文、韓文和台灣編碼搭配使用。

限制 此選項不能與 Full-Alphabet, Half-Alphabet 選項同時使用。

LOWERCASE, UPPERCASE

此選項會將小寫字母字元轉換為大寫字母字元。

限制 此選項不能與 Uppercase, Lowercase 選項同時使用。

UPPERCASE, LOWERCASE

此選項會將大寫字母字元轉換為小寫字母字元。

限制 此選項不能與 Lowercase, Uppercase 選項同時使用。

PROPER

此選項會根據編碼來指定下列預設選項:

  • 日文編碼
    • Half-Katakana,Full-Katakana
    • Full-alphabet, Half-alphabet
    • Lowercase, Uppercase
  • 韓文編碼:
    • Full-alphabet, Half-alphabet
  • 中文編碼:
    • Full-alphabet, Half-alphabet
  • 台灣編碼:
    • Full-alphabet, Half-alphabet

詳細資料

請參閱 SAS 字串函數的國際化相容性,以取得限制以及詳細資訊。
此函數會根據指定的選項和預設選項來轉換輸入字串。 KPROPCASE 函數支援中文、日文、韓文、台灣 (CJKT) 環境。

範例

下列範例示範 KPROPCASE 函數的功能:
length fullkana halfkana upper lower fullalpha $ 200;
length str1 str2 str3 str4 str5 str7 str8 $ 30 str6 $44;
lower = 'do-naxtutsu'; /* Doughnuts in Japanese Roman word. */
upper = 'DO-NAXTUTSU'; /* Doughnuts in Japanese Roman word. */
fullkana = unicode('\u30C9\u30FC\u30CA\u30C3\u30C4');
halfkana = unicode('\uFF84\uFF9E\uFF70\uFF85\uFF6F\uFF82');
fullalpha = unicode('\uFF24\uFF2F\uFF0D\uFF2E\uFF21\uFF38\uFF34\uFF35\uFF34\
uFF33\uFF35');
str1 = kpropcase(fullkana, 'full-katakana,half-katakana');
if (halfkana EQ trim(str1)) then
put str1= $hex14.;
str2 = kpropcase(halfkana, 'half-katakana, full-katakana');
if (fullkana EQ trim(str2)) then
put str2= $hex22.;
str3 = kpropcase(fullkana, 'katakana,romaji');
if (trim(str3) EQ upper) then
put str3= ;
str4 = kpropcase(upper, 'romaji,katakana');
if (trim(str4) EQ fullkana) then
put str4= $hex22.;
str5 = kpropcase(fullalpha, 'full-alphabet, half-alphabet');
if (trim(upper) EQ str5) then
put str5=;
str6 = kpropcase(upper, 'half-alphabet, full-alphabet');
if (trim(str6) EQ fullalpha) then
put str6= $hex46.;
str7 = kpropcase(lower, 'lowercase, uppercase');
if (trim(str7) EQ upper) then
put str7=;
str8 = kpropcase(upper, 'uppercase, lowercase');
if (trim(str8) EQ lower) then
put str8=;
RESULTS:
str1=C4DEB0C5AFC220
str2=8368815B83698362836320
str3=DO-NAXTUTSU
str4=8368815B83698362836320
str5=DO-NAXTUTSU
str6=8263826E817C826D826082778273827482738272827420
str7=DO-NAXTUTSU
str8=do-naxtutsu
上一頁|下一頁|頁面頂端