Matlab中字符串数组和字符数组中的文本
发布日期:2021-05-07 17:47:01 浏览次数:23 分类:原创文章

本文共 2109 字,大约阅读时间需要 7 分钟。

目录

 


字符串数组和字符数组中的文本

MATLAB® 中有两种表示文本的方式。从 R2016b 开始,可以将文本存储在字符串数组中。在任何版本的 MATLAB 中,都可以将文本存储在字符数组中。字符数组的一个典型用途是将文本片段存储为字符向量。MATLAB 用双引号显示字符串,用单引号显示字符向量。

用字符串数组表示文本

可以使用 string 数据类型将任何n 字符序列存储为字符串。从 R2017a 开始,可以用双引号将文本括起来以创建字符串。

str = "Hello, world"str = "Hello, world"

虽然文本 "Hello, world" 的长度为 12 个字符,但 str 本身是 1×1 字符串或字符串标量。可以使用字符串标量来指定文件名、图标签或任何其他文本信息片段。要计算字符串中的字符数量,请使用strlength 函数。

n = strlength(str)n = 12

如果文本包含双引号,请在定义中使用两个双引号。

str = "They said, ""Welcome!"" and waved."str = "They said, "Welcome!" and waved."

要将文本添加到字符串的末尾,请使用加号运算符 +。如果变量可以转换为字符串,则 plus 会转换并追加它。

fahrenheit = 71;celsius = (fahrenheit-32)/1.8;tempText = "temperature is " + celsius + "C"tempText = "temperature is 21.6667C"

从 R2019a 开始,还可以使用 append 函数串联文本。

tempText2 = append("Today's ",tempText)tempText2 = "Today's temperature is 21.6667C"

string 函数可以转换不同类型的输入,如数值、日期时间、持续时间和分类值。例如,将 pi 的输出转换为字符串。

ps = string(pi)ps = "3.1416"

可以将多个文本片段存储在字符串数组中。数组的每个元素都可以包含一个具有不同字符数的字符串,而无需填充。

str = ["Mercury","Gemini","Apollo";...       "Skylab","Skylab B","ISS"]str = 2x3 string array    "Mercury"    "Gemini"      "Apollo"    "Skylab"     "Skylab B"    "ISS"   

str 是一个 2×3 的字符串数组。可以使用 strlength 函数计算字符串的长度。

N = strlength(str)N = 2×3     7     6     6     6     8     3

从 R2018b 开始,MATLAB 和 MathWorks® 全线产品都支持字符串数组。接受字符数组(和字符向量元胞数组)作为输入的函数也接受字符串数组。

用字符向量表示文本

要使用 char 数据类型将 n 字符序列存储为字符向量,请用单引号将它引起来。

chr = 'Hello, world'chr = 'Hello, world'

文本 'Hello, world' 的长度为 12 个字符,chr 将其存储为 1×12 字符向量。

whos chr  Name      Size            Bytes  Class    Attributes  chr       1x12               24  char               

如果文本包含单引号,请在定义中使用双重单引号。

chr = 'They said, ''Welcome!'' and waved.'chr = 'They said, 'Welcome!' and waved.'

字符向量有两个主要用途:

  • 指定单个文本片段,如文件名和图标签。

  • 表示使用字符进行编码的数据。在这种情况下,可能需要尽可能方便地访问单个字符。

例如,可以将 DNA 序列存储为一个字符向量。

seq = 'GCTAGAATCC';

可以通过索引来访问单个字符或字符子集,就像对数值数组进行索引一样。

seq(4:6)ans = 'AGA'

用方括号串联字符向量,就像串联其他类型的数组一样。

seq2 = [seq 'ATTAGAAACC']seq2 = 'GCTAGAATCCATTAGAAACC'

从 R2019a 开始,还可以使用 append 串联文本。推荐使用 append 函数,因为它以一致的方式处理字符串数组、字符向量和字符向量元胞数组。

seq2 = append(seq,'ATTAGAAACC')seq2 = 'GCTAGAATCCATTAGAAACC'

接受字符串数组作为输入的 MATLAB 函数也接受字符向量和字符向量元胞数组。

 

 

上一篇:Matlab中创建字符串数组
下一篇:Matlab中字符和字符串

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月10日 15时54分42秒