套件 | flash.globalization |
類別 | public final class StringTools |
繼承 | StringTools Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
在某些情況下,大小寫字母之間的轉換並不只是將某字元對應到另一個字元而已,而是需要語言或內容專用的處理。例如:
- 在土耳其文和亞賽拜然文中,有一點的小寫字母 i,其大寫字母 İ (U+0130) 亦有一小點。同樣地,無一點的大寫字母 I 其小寫字母 ı (U+0131) 亦無一小點。
- 在德文中,S 的小寫形式 s (U+00DF) 轉換成大寫後,是 SS。
- 在希臘文中,小寫 sigma 有 σ (U+03C3) 和 ς (U+03C2) 兩種形式,但兩者轉換成大寫後,均為 Σ (U+03A3)。
此類別的 toLowerCase()
和 toUpperCase()
方法提供此特殊大小寫轉換邏輯。
由於所用的使用者設定、作業系統提供的大小寫轉換規則,以及不支援所要求地區設定時所用的後援地區設定之不同,即使是使用相同的地區設定 ID,不同使用者也會看到不同的大小寫轉換結果。
屬性 | 定義自 | ||
---|---|---|---|
actualLocaleIDName : String [唯讀]
此 StringTools 物件所使用的實際地區設定 ID 名稱。 | StringTools | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
lastOperationStatus : String [唯讀]
此 StringTools 物件執行的最近作業狀態。 | StringTools | ||
requestedLocaleIDName : String [唯讀]
傳送到此 StringTools 物件建構函式的所要求地區設定 ID 名稱。 | StringTools |
方法 | 定義自 | ||
---|---|---|---|
StringTools(requestedLocaleIDName:String)
建構一個會根據指定的地區設定慣例,提供大小寫轉換以及其他公用程式的 StringTools 物件。 | StringTools | ||
[靜態]
列出此類別支援的所有地區設定 ID 名稱。 | StringTools | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
根據語言慣例,將字串轉換成小寫字母。 | StringTools | ||
會傳回指定之物件的字串形式。 | Object | ||
根據語言慣例,將字串轉換成大寫字母。 | StringTools | ||
會傳回指定之物件的基本值。 | Object |
actualLocaleIDName | 屬性 |
actualLocaleIDName:String
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
此 StringTools 物件所使用的實際地區設定 ID 名稱。
根據作業系統與 requestedLocaleIDName
參數傳遞到 StringTools()
建構函式的值,此值有三種可能情況。
- 若要求的地區設定不是
LocaleID.DEFAULT
,而且作業系統支援要求的地區設定,則傳回的名稱會與requestedLocaleIDName
屬性相同。 - 若使用
LocaleID.DEFAULT
當作建構函式requestedLocaleIDName
參數的值,則會使用使用者作業系統指定的目前地區設定名稱。LocaleID.DEFAULT
值會將使用者的自訂設定保留於作業系統中。即使兩個地區設定 ID 名稱是相同的,傳送明確的值作為requestedLocaleIDName
參數所得的結果,也未必與使用LocaleID.DEFAULT
相同。使用者可能在電腦上已有自訂的地區設定,若要求明確的地區設定 ID 名稱而不是使用LocaleID.DEFAULT
的話,您的應用程式不會擷取這些自訂設定。 - 若系統不支援建構函式所指定的
requestedLocaleIDName
,則會提供後援地區設定 ID 名稱。
實作
public function get actualLocaleIDName():String
相關 API 元素
lastOperationStatus | 屬性 |
requestedLocaleIDName | 屬性 |
requestedLocaleIDName:String
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
傳送到此 StringTools 物件建構函式的所要求地區設定 ID 名稱。
若使用 LocaleID.DEFAULT
值,則傳回的名稱會是 "i-default"。若採用後援地區設定,則所用的實際地區設定可能與要求的地區設定不同。您可以使用 actualLocaleIDName
屬性擷取實際地區設定名稱。
實作
public function get requestedLocaleIDName():String
相關 API 元素
StringTools | () | 建構函式 |
public function StringTools(requestedLocaleIDName:String)
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
建構一個會根據指定的地區設定慣例,提供大小寫轉換以及其他公用程式的 StringTools 物件。
此建構函式會判斷目前的作業系統是否支援要求的地區設定 ID 名稱。若不支援,則會改用後援地區設定。若使用後援地區設定,則 lastOperationStatus
屬性會指示後援類型,而 actualLocaleIDName
屬性會包含後援地區設定 ID 的名稱。
若建構函式成功完成,lastOperationStatus
屬性就會設為:
LastOperationStatus.NO_ERROR
若要求的地區設定 ID 名稱無法使用,則 lastOperationStatus
會被設為下列之一:
LastOperationStatus.USING_FALLBACK_WARNING
LastOperationStatus.USING_DEFAULT_WARNING
否則,lastOperationStatus
屬性會被設為 LastOperationStatus 類別中定義的常數之一。
requestedLocaleIDName:String — 判斷日期或時間格式時要使用的偏好地區設定 ID 名稱。
|
擲回值
ArgumentError — 當 requestedLocaleIDName 參數為 null
|
相關 API 元素
getAvailableLocaleIDNames | () | 方法 |
public static function getAvailableLocaleIDNames():Vector.<String>
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
列出此類別支援的所有地區設定 ID 名稱。
若目前的作業系統不支援此類別,此方法會傳回 null 值。
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
Vector.<String> — 包含此類別支援的所有地區設定 ID 名稱之字串向量。
|
toLowerCase | () | 方法 |
public function toLowerCase(s:String):String
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
根據語言慣例,將字串轉換成小寫字母。視您的區域設定而定,輸出字串長度可能與輸入字串長度不同。
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
參數
s:String — 轉換成小寫的字串。
|
String — 轉換的小寫字串。
|
擲回值
ArgumentError — 當 s 參數為 null 值。
|
相關 API 元素
toUpperCase | () | 方法 |
public function toUpperCase(s:String):String
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
根據語言慣例,將字串轉換成大寫字母。視您的區域設定而定,輸出字串長度可能與輸入字串長度不同。
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
參數
s:String — 轉換成大寫的字串。
|
String — 轉換的大寫字串。
|
擲回值
ArgumentError — 當 s 參數為 null 值。
|
相關 API 元素
這個範例會執行以下步驟:
- 建立 StringTools 物件。
- 定義三種字串,它們的字元分別與土耳其文、希臘文和德文特別有關。
- 將每一個字串轉換成大寫和小寫並顯示結果。這個範例說明像土耳其文 "ı" 和 "Ä°"、德文 "ß" 以及希臘文 "Σςσ" 的字元,其有趣的地區特有變化。
package { import flash.display.Sprite; import flash.globalization.LocaleID; import flash.globalization.StringTools; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class StringToolsExample extends Sprite { public function StringToolsExample() { var localeName:String= LocaleID.DEFAULT; var strTool:StringTools = new StringTools(localeName); trace('\n\n' + "LocaleID requested: " + nf.requestedLocaleIDName + "; actual: " + nf.actualLocaleIDName); trace( "Last Operation Status:" + nf.lastOperationStatus ); var turkishStr:String = "iI ıİ"; var greekStr:String = "Σςσβΰ�Σ"; var germanStr:String= "ß"; var tfTurInp:TextField = createTextField(10, 10); tfTurInp.text="Turkish Input: \t " + turkishStr; var tfdash:TextField = createTextField(10, 20); tfdash.text="-------------------"; var tf1:TextField = createTextField(10, 30); tf1.text="\t Upper case: \t " + strTool.toUpperCase(turkishStr); var tf2:TextField = createTextField(10, 40); tf2.text="\t Lower case: \t " + strTool.toLowerCase(turkishStr); var tfgreekInp:TextField = createTextField(10, 60); tfgreekInp.text="Greek Input: \t " + greekStr; var tfdash1:TextField = createTextField(10, 70); tfdash1.text="-------------------"; var tf3:TextField = createTextField(10, 80); tf3.text="\t Upper case: \t " + strTool.toUpperCase(greekStr); var tf4:TextField = createTextField(10, 90); tf4.text="\t Lower case: \t " + strTool.toLowerCase(greekStr); var tfgermanInp:TextField = createTextField(10, 110); tfgermanInp.text="German Input: \t " + germanStr; var tfdash2:TextField = createTextField(10, 120); tfdash2.text="-------------------"; var tf5:TextField = createTextField(10, 130); tf5.text="\t Upper case: \t " + strTool.toUpperCase(germanStr); var tf6:TextField = createTextField(10, 140); tf6.text="\t Lower case: \t " + strTool.toLowerCase(germanStr); } private function createTextField(x:Number, y:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.autoSize=TextFieldAutoSize.LEFT; addChild(result); return result; } } }
Tue Jun 12 2018, 03:47 PM Z