跳至内容

ActionScript 编程/第一部分/第三章/字符串

来自维基教科书,开放的书籍,开放的世界

数据类型

[编辑 | 编辑源代码]

字符串

[编辑 | 编辑源代码]

在上一节中,您了解了字符串和数字数据类型之间的区别。现在我们将详细分析字符串数据类型。以下是声明字符串变量的结构

 var <name> = new String( [expression] );

参数 <name> 是您要声明的变量的名称,参数 [expression] 是您想要在创建变量时赋予它的值。

方法 描述
charAt( <index> ) 返回参数 <index> 指定位置的字符。
charCodeAt( <index> ) 返回指定字符的代码。
concat( <val1>, …, <valN>) 将字符串对象的 value 与参数组合,并返回新形成的字符串。
fromCharCode( <c1>, … <cN> ) 返回由参数中的字符代码(ASCII 值)表示的字符组成的字符串
indexOf ( <strsearch>, [startindex] ) 搜索字符串,并在调用字符串中返回在 [startindex] 或之后找到的 <strsearch> 的第一次出现的索引位置。
lastIndexOf( <strsearch>, [startindex] ) 从右到左搜索字符串,并在调用字符串中返回在 [startindex] 之前找到的 <strsearch> 的最后一次出现的索引位置。
slice( <startindex>, [endindex] ) 返回一个字符串,其中包括 <startindex> 字符和一直到(但不包括)[endindex] 字符的所有字符。
split( <separator>, [limit] ) 通过在指定 <separator> 参数出现的地方将字符串对象分割成子字符串来分割字符串对象,并将子字符串返回到数组中。
substr( <startindex>, [length] ) 返回字符串中从 <startindex> 参数中指定的索引到 [length] 参数中指定的字符数量的字符。
substring( <startindex>, [endindex] ) 返回一个字符串,该字符串包含 <startindex> 和 [endindex] 参数指定的点之间的字符。
toLowerCase() 返回字符串对象的副本,其中所有大写字符都转换为小写。
toUpperCase() 返回字符串对象的副本,其中所有小写字符都转换为大写。

String.charAt( <index> );

此方法返回参数 <index> 指定位置的字符。字符串的第一个字符用 0 表示,因此如果要读取指定字符串的第一个字符,则必须将 0 作为 <index> 参数,要读取第三个字符,则必须将 2 作为 <index>。现在,让我们编写一个程序来获取字符串“hello”的第二个字符。

 1.   var tmpString = new String("hello");
 2.   trace(tmpString.charAt(1));
charCodeAt
[编辑 | 编辑源代码]

String.charCodeAt( <index> );

为了理解此方法的作用,您首先必须了解一些有关键盘和“ASCII 值”的知识。屏幕上打印的每个“符号”都有一个等效代码。例如,大写字母“A”的代码是 65。在“ASCII”美国标准中,有 127 个字符代码。世界上所有的计算机都支持 ASCII 标准。在这个字符集中(字符代码从 0 到 127),只有符号的标准代码。例如,符号“©”在 Microsoft® Windows® 中的代码是 165。在其他操作系统中,它可能是另一个代码。以下是符号与其等效代码的列表

# 符号 # 符号 # 符号 # 符号
0 ? 32 [空格] 64 @ 96 `
1 ? 33 ! 65 A 97 a
2 ? 34 " 66 B 98 b
3 ? 35 # 67 C 99 c
4 ? 36 $ 68 D 100 d
5 ? 37 % 69 E 101 e
6 ? 38 & 70 F 102 f
7 ? 39 ' 71 G 103 g
8 * * 40 ( 72 H 104 h
9 * * 41 ) 73 I 105 i
10 * * 42 * 74 J 106 j
11 ? 43 + 75 K 107 k
12 ? 44 , 76 L 108 l
13 * * 45 - 77 M 109 m
14 ? 46 . 78 N 110 n
15 ? 47 / 79 O 111 o
16 ? 48 0 80 P 112 p
17 ? 49 1 81 Q 113 q
18 ? 50 2 82 R 114 r
19 ? 51 3 83 S 115 s
20 ? 52 4 84 T 116 t
21 ? 53 5 85 U 117 u
22 ? 54 6 86 V 118 v
23 ? 55 7 87 W 119 w
24 ? 56 8 88 X 120 x
25 ? 57 9 89 Y 121 y
26 ? 58 : 90 Z 122 z
27 ? 59 ; 91 [ 123 {
28 ? 60 < 92 \ 124
29 ? 61 = 93 ] 125 }
30 ? 62 > 94 ^ 126 ~
31 ? 63 ? 95 _ 127 ?

?这些字符不受 Microsoft Windows 支持。

* *值 8、9、10 和 13 分别转换为退格键、制表键、换行符和回车符。它们没有图形表示,但根据应用程序的不同,可能会影响文本的视觉显示。

您将在以后了解此方法的用法。现在您必须知道这一点。现在,让我们编写一个程序来打印字符串“hello”中所有字符的代码。

 1.   var tmpString = new String("hello");
 2.   trace(tmpString.charCodeAt(0));
 3.   trace(tmpString.charCodeAt(1));
 4.   trace(tmpString.charCodeAt(2));
 5.   trace(tmpString.charCodeAt(3));
 6.   trace(tmpString.charCodeAt(4));

String.concat( <val1>, …, <valN> );

此方法将字符串对象的 value 与参数组合,并返回新形成的字符串。但请注意,它不会更改字符串,它只是返回它。此示例显示了此方法的用法

 1.   var tmpString = new String("Hello!!!");
 2.   tmpString = tmpString.concat(" How", " are", " you?");
 3.   trace(tmpString);
fromCharCode
[编辑 | 编辑源代码]

String.fromCharCode( <c1>, …, <cN> );

此方法返回由参数中的字符代码(ASCII 值)表示的字符组成的字符串。在此方法中,“String” 绝不能替换为字符串变量的名称,例如:“mystring.fromCharCode”,它必须保留为“String”。在这种情况下,“String” 代表字符串对象。以下示例创建了一个“hello”字符串

 1.   var tmpString = new String();
 2.   tmpString = String.fromCharCode(104,101,108,108,111);
 3.   trace(tmpString);

String.indexOf( <strsearch>, [startindex] );

此方法搜索您通过参数 <strsearch> 指定的字符串,并返回第一次出现的索引位置。如果未找到字符串,则返回 -1。例如,此代码在“tmpString”变量中搜索“ll”字符串,该变量的值为“hello”

 1.   var tmpString = new String("hello!!!");
 2.   trace(tmpString.indexOf("ll"));

“indexOf” 方法将返回 2,这意味着您要查找的字符串的开头位于字符 3 处(不要忘记字符串的第一个字符是 0)。参数 [startindex] 告诉 Flash 从指定字符开始搜索字符串。在以下示例中,“indexOf” 方法返回的值为 -1,这意味着未找到该字符串。

 1.   var tmpString = new String("hello!!!");
 2.   trace(tmpString.indexOf("ll",3));
lastIndexOf
[编辑 | 编辑源代码]

String.lastIndexOf( <strsearch>, [startindex] );

此方法搜索参数 <strsearch> 指定的字符串,并返回其最后一次出现的的位置。如果未找到该字符串,则返回 -1。例如,此代码在“tmpString” 变量中搜索“ZZ” 字符串,该变量的值为“ZoZZooZZoZoZZ”。

 1.   var tmpString = new String("ZoZZooZZoZoZZ");
 2.   trace(tmpString.lastIndexOf("ZZ"));

“indexOf” 方法将返回 11,这意味着您要查找的字符串的开头(从字符串的末尾开始)位于字符 11 处(不要忘记字符串的第一个字符是 0)。参数 [startindex] 告诉 Flash 从指定字符开始搜索字符串。这意味着指定字符之后的那部分字符串不参与搜索过程。在以下示例中,“indexOf” 方法返回的值为 6

 1.   var tmpString = new String("ZoZZooZZoZoZZ");
 2.   trace(tmpString.lastIndexOf("ZZ",9));

String.slice( <startindex>, [endindex] );

此方法返回包含 <startindex> 字符和直到(但不包括)[endindex] 字符的所有字符的字符串。如果您没有指定 [endindex] 参数,则返回值将包含 <startindex> 字符和直到字符串末尾的所有字符的字符串。在此示例中,我们从字符串“How are you?” 中切出单词“How”。

 1.   var tmpString = new String("How are you?");
 2.   trace(tmpString.slice(0,3));

现在,让我们切出从 4 到字符串末尾的所有字符

 1.   var tmpString = new String("How are you?");
 2.   trace(tmpString.slice(4));

此方法将在讨论完数组数据类型后进行介绍。

String.substr( <startindex>, [length] );

此方法返回字符串中从 <startindex> 参数中指定的索引开始的字符,直到 [length] 参数中指定的字符数量。它与“slice” 方法几乎相同,但在此函数中,您指定要剪切的字符串的长度,而不是最后一个字符的索引。此示例说明了此方法的使用方式

 1.   var tmpString = new String("How are you?");
 2.   trace(tmpString.substr(4,3));
substring
[编辑 | 编辑源代码]

String.substring( <startindex>, [endindex] );

此方法返回一个字符串,该字符串包含 <startindex> 和 [endindex] 参数指定的点之间的字符。如果未指定 [endindex] 参数,则返回的字符串包含从点 <startindex> 到字符串末尾的字符。此示例说明了此方法的使用方式

 1.   var tmpString = new String("How are you?");
 2.   trace(tmpString.substring(0,2));
toLowerCase
[编辑 | 编辑源代码]

String.toLowerCase( );

此方法返回指定字符串的副本,其中所有大写字母都转换为小写字母。例如,字符串“Hello” 将转换为“hello”。

 1.   var tmpString = new String("Hello");
 2.   trace(tmpString.toLowerCase());
toUpperCase
[编辑 | 编辑源代码]

String.toUpperCase( );

此方法返回指定字符串的副本,其中所有小写字母都转换为大写字母。例如,字符串“Hello” 将转换为“HELLO”。

 1.   var tmpString = new String("Hello");
 2.   Trace(tmpString.toUpperCase());

String.length

此方法返回字符串的长度。例如,字符串“hello” 的长度将为 5

 1.   var tmpString = new String("hello");
 2.   trace(tmpString.length);
华夏公益教科书