Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

strcat

水平串联字符串

说明

示例

s = strcat(s1,...,sN) 水平串联其输入参数中的文本。每个输入参数都可以是字符数组、字符向量元胞数组或字符串数组。

  • 如果任一输入是字符串数组,则结果是字符串数组。

  • 如果任一输入是元胞数组,并且没有输入是字符串数组,则结果是字符向量元胞数组。

  • 如果所有输入都是字符数组,则结果是字符数组。

对于字符数组输入,strcat 会删除尾部的 ASCII 空白字符:空格、制表符、垂直制表符、换行符、回车和换页符。对于元胞数组和字符串数组输入,strcat 不删除尾部空白。

为了提高性能并保留尾部空白字符,请使用append

示例

全部折叠

创建两个字符向量。使用 strcat 水平串联两个向量。

s1 = 'Good';
s2 = 'morning';
s = strcat(s1,s2)
s = 
'Goodmorning'

创建两个字符向量元胞数组。使用 strcat 水平串联两个元胞数组的元素。

s1 = {'abcde','fghi'};
s2 = {'jkl','mn'};
s = strcat(s1,s2)
s = 1x2 cell
    {'abcdejkl'}    {'fghimn'}

创建两个字符向量元胞数组。创建一个包含字符向量 ',' 的标量元胞数组。使用 strcat 水平串联这两个元胞数组的元素和该元胞标量。

firstnames = {'Abraham'; 'George'};
lastnames = {'Lincoln'; 'Washington'};
commas = {', '};
names = strcat(lastnames, commas, firstnames)
names = 2x1 cell
    {'Lincoln, Abraham'  }
    {'Washington, George'}

使用 strcat 函数串联文本。请注意,当以这种方式串联时,输出字符串将在输入字符串之间插入一个空白字符。

str1 = ["John ","Mary "];
str2 = ["Smith","Jones"];
str = strcat(str1,str2)
str = 1x2 string
    "John Smith"    "Mary Jones"

可以使用 strcat 合并字符串和字符向量。当对字符串和字符向量进行串联时,不会添加空白。将字符向量串联到字符串数组的每个元素上。

str3 = strcat(str,', M.D.')
str3 = 1x2 string
    "John Smith, M.D."    "Mary Jones, M.D."

要合并字符串和字符向量,请考虑改用 +

str4 = str + ', M.D.'
str4 = 1x2 string
    "John Smith, M.D."    "Mary Jones, M.D."

输入参数

全部折叠

输入文本,指定为字符向量、字符向量元胞数组或字符串数组。将字符串数组或元胞数组与字符数组合并时,字符串数组或元胞数组必须是行数与字符数组相同的标量或列向量。

数据类型: char | cell | string

替代功能

  • 可以使用 append 函数代替 strcat 来保留尾部空白字符。

  • 字符向量也可以使用左右方括号进行串联。

    s1 = 'Good ';
    s2 = 'Morning';
    s = [s1 s2]
    
    s =
    
    Good Morning

  • 也可以使用 + 运算符串联字符串数组。

    s1 = "Good ";
    s2 = "Morning";
    s = s1 + s2
    s =
    
    Good Morning

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出

另请参阅

| | | | | | |