4.1 字符串数组
4.1.1 字符串入门
【 * 例 4.1.1 -1 】先请读者实际操作本例,以体会数值量与字符串的区别。
clear % 清除所有内存变量
a=12345.6789 % 给变量 a 赋数值标量
class(a) % 对变量 a 的类别进行判断
a_s=size(a) % 数值数组 a 的“大小”
a =
1.2346e+004
ans =
double
a_s =
1 1
b='S' % 给变量 b 赋字符标量(即单个字符)
class(b) % 对变量 b 的类别进行判断
b_s=size(b) % 符号数组 b 的“大小”
b =
S
ans =
char
b_s =
1 1
whos % 观察变量 a,b 在内存中所占字节
Name Size Bytes Class
a 1x1 8 double array
a_s 1x2 16 double array
ans 1x4 8 char array
b 1x1 2 char array
b_s 1x2 16 double array
Grand total is 10 elements using 50 bytes
4.1.2 串数组的属性和标识
【 * 例 4.1.2 -1 】本例演示:串的基本属性、标识和简单操作。
(1)创建串数组
a='This is an example.'
a =
This is an example.
(2)串数组 a 的大小
size(a)
ans =
1 19
(3)串数组的元素标识
a14=a(1:4) % 提出一个子字符串
ra=a(end:-1:1) % 字符串的倒排
a14 =
This
ra =
.elpmaxe na si sihT
(4)串数组的 ASCII 码
ascii_a=double(a) % 产生 ASCII 码
ascii_a =
Columns 1 through 12
84 104 105 115 32 105 115 32 97 110 32 101
Columns 13 through 19
120 97 109 112 108 101 46
char(ascii_a) % 把 ASCII 码变回字符串
ans =
This is an example.
(5)对字符串 ASCII 码数组的操作
% 使字符串中字母全部大写
w=find(a>='a'&a<='z'); % 找出串数组 a 中,小写字母的元素位置。
ascii_a(w)=ascii_a(w)-32; % 大小写字母 ASCII 值差 32. 用数值加法改变部分码值。
char(ascii_a) % 把新的 ASCII 码翻成字符
ans =
THIS IS AN EXAMPLE.
(6)中文字符串数组
A=' 这是一个算例。 '; % 创建中文字符串
A_s=size(A) % 串数组的大小
A56=A([5 6]) % 取串的子数组
ASCII_A=double(A) % 获取 ASCII 码
A_s =
1 7
A56 =
算例