包 | flash.globalization |
类 | public final class StringTools |
继承 | StringTools Object |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
在某些情况下,大写字母和小写字母之间的转换不是简单地从一个字符转换到另一个字符,而是需要进行语言特定或上下文特定的处理。例如:
- 在土耳其语和阿塞拜疆语中,加点的小写字母 i 的大写形式是加点的大写字母 İ (U+0130)。与之相似,无点的大写字母 I 的小写形式是无点的小写字母ı (U+0131)。
- 德语中使用的小写 sharp S ß (U+00DF) 转换后是大写形式的双 SS。
- 在希腊语中,小写西格玛有两种形式(σ (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 的名称。
根据操作系统和传递给 StringTools()
构造函数的 requestedLocaleIDName
参数的值,该名称有三种可能的值。
- 如果请求的区域设置不是
LocaleID.DEFAULT
且操作系统支持该请求的区域设置,则返回的名称与requestedLocaleIDName
属性相同。 - 如果将
LocaleID.DEFAULT
用作构造函数的requestedLocaleIDName
参数的值,则使用由用户操作系统指定的当前区域设置的名称。LocaleID.DEFAULT
值保留用户在操作系统中的自定义设置。显式值作为requestedLocaleIDName
参数传递与使用LocaleID.DEFAULT
所产生的结果不一定相同,即使两个区域设置 ID 名称相同,也是如此。用户可能已在计算机上对区域设置进行了自定义,通过请求显式区域设置 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 对象。
- 使用土耳其语、希腊语和德语特有的字符定义 3 个字符串。
- 将每个字符串转换为大写和小写,并显示结果。本示例显示一些有趣的特定于区域设置的字符行为,如土耳其语“ı”和“Ä°”,德语“ß”和希腊语“Σςσ”。
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, 11:04 AM Z