strcmpi
比较字符串(不区分大小写)
说明
示例
比较两个字符向量并忽略大小写
比较两个不同的字符向量,并忽略字母大小写差异。
s1 = 'Yes'; s2 = 'No'; tf = strcmpi(s1,s2)
tf = logical
0
strcmpi
返回 0
,因为 s1
和 s2
不相等,即使忽略大小写也是如此。
比较两个相等的字符向量。
s1 = 'Yes'; s2 = 'yes'; tf = strcmpi(s1,s2)
tf = logical
1
strcmpi
返回 1
,因为忽略大小写时 s1
和 s2
相等。
查找元胞数组中不区分大小写的匹配项
在字符向量元胞数组中查找与单词 'once'
匹配的文本。忽略大小写。
s1 = 'once'; s2 = {'Once','upon'; 'a','time'}; tf = strcmpi(s1,s2)
tf = 2x2 logical array
1 0
0 0
如果忽略大小写,数组 s2
中将会出现一处 s1
,它出现在元素 s2(1,1)
的位置。
比较元胞数组并忽略大小写
创建两个字符向量元胞数组。要对它们进行比较并忽略大小写,请使用 strcmpi
函数。
s1 = {'Tinker', 'Tailor'; ' Soldier', 'Spy'}; s2 = {'Tinker', 'Baker'; 'Soldier', 'SPY'}; tf = strcmpi(s1,s2)
tf = 2x2 logical array
1 0
0 1
tf(1,1)
为 1
,因为 'Tinker'
位于两个数组的第一个元胞中。tf(2,2)
为 1
,因为 'Spy'
和 'SPY'
只有大小写不同。tf(2,1)
为 0
,因为 s1(2,1)
中的 ' Soldier'
有空白字符,而 s2(2,1)
中 'Soldier'
没有。
比较字符串数组并忽略大小写
使用 strcmpi
比较两个字符串数组,并忽略大小写。
s1 = ["A","bc"; "def","G"]; s2 = ["B","c"; "DEF","G"]; tf = strcmpi(s1,s2)
tf = 2x2 logical array
0 0
1 1
输入参数
s1,s2
— 输入文本
字符向量 | 字符数组 | 字符向量元胞数组 | 字符串数组
输入文本,其中每个输入指定为字符向量、字符数组、字符向量元胞数组或字符串数组。输入的顺序不影响比较结果。
如果
s1
和s2
都是字符串数组或字符向量元胞数组,则s1
和s2
的大小必须相同,除非其中一个是标量。如果
s1
和s2
都是具有多行的字符数组,则s1
和s2
可以具有不同的行数。将字符向量非标量元胞数组或字符串数组与多行字符数组进行比较时,元胞数组或字符串数组必须是行数与字符数组相同的列向量。
数据类型: char
| cell
| string
输出参数
tf
— True 或 false 结果
1
| 0
| 逻辑数组
True 或 false 结果,以数据类型 logical
为 1
或 0
形式返回。
如果每个输入都是字符串标量或字符向量,则
tf
是标量。如果至少一个输入是字符串数组或字符向量元胞数组,则
tf
是大小与输入数组相同的数组。如果一个输入是具有多行的字符数组,并且另一个输入是标量元胞或字符串标量,则
tf
是n
×1
数组,其中n
是字符数组中的行数。如果两个输入都是字符数组,则
tf
是标量。
提示
strcmpi
函数用于比较文本。如果用于不受支持的数据类型,strcmpi
将始终返回0
。对于区分大小写的文本比较,请使用
strcmp
而不是strcmpi
。虽然
strcmpi
与 C 函数共享名称,但它不遵循在文本输入匹配时返回0
的 C 语言惯例。
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
不支持枚举输入。
来自
char
类的输入值必须在 0-127 的范围内。如果一个输入为元胞数组,另一个输入为字符数组,则字符数组必须为编译时行向量。
如果两个输入均为空字符数组,只是大小不同,则生成的代码将返回
true
。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅Run MATLAB Functions in Thread-Based Environment。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
用法说明和限制:
输入必须为字符串数组或字符向量元胞数组。
有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)