分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
1. 字符串中含有单引号
我们知道,matlab 中一个字符串由单引号标识,如果一个字符串中本身含有单引号,比如xi'an
(地名,西安),使用转义符是不奏效的。matlab 提供的做法是,双单引号标识一个单引号:
>> addr = 'xi''an'addr =xi'an
- 1
- 2
- 3
2. 字符串拼接
[]
进行的是字符串的拼接;{}
定义的则是元祖;
这涉及到 matlab 的编程设计思想问题,也即 matlab 是围绕矩阵展开的,而 matlab 下的矩阵必须是数值型的,而不可以是字符串矩阵,想要定义一个结构来存放多个字符串,可以使用 {}
,而不可以使用构建matlab 矩阵)[]
(等价于 strcat
)。
3. 使用 char
>> asc = char(reshape(32:127,32,3)')asc = !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ % 3 行 32 列,96 个字符
- 1
- 2
- 3
- 4
- 5
- 6
- 7
当 char()
函数接受多参数时,也即
S = char(T1,T2,...,TN)
- 1
将会构建 char 型二维矩阵(使用矩阵的方式进行索引),行数为参数的个数,列数为单个参数的最大长度。
4. 字符串比较
- strcmp()
- strcmpi():大小写不敏感,case insensitive;
5. deblank
Remove trailing whitespace from end of character array. (删除序列尾部(注意仅仅是尾部,不包括头部的空格)的空格)。
6. 字符串切割(split)
使用正则表达式:
>> str = 'hello world hello China';>> splited = regexp(str, ' ', 'split');>> splitedsplited = 'hello' 'world' 'hello' 'China'
- 1
- 2
- 3
- 4
- 5
注意 regexp(str, ' ', 'split')
得到的是元组类型。
7. strfind():返回元素的下标
>> strfind('hello|world', '|')6
- 1
- 2
8. char
⇒ char>> char([97, 98, 99])ans =abc
- 1
- 2
- 3
- 4
>> char([97, 98, 99])ans =abc
(2)char ⇒ ASCII
>> abs('abc')ans = 97 98 99
- 1
- 2
- 3
- 4
9. 字符串的拼接
字符串(str1、str2)的拼接使用 [str1, str2] 或 [str1 str2]。
注意,str1 + str2 所做的动作就不是拼接了,而是首先转换为 ascii 码类型,再进行相加的操作,这就要求两串的长度必须相等,
>> str1 = 'hello'; str2 = 'world';>> str1 + str2 ans = 223 212 222 216 211>> abs(str1) + abs(str2)ans = 223 212 222 216 211
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow