查看往期文案:
第1章:MATLAB的介绍和安装(MATLAB入门课程)第2章:MATLAB入门知识(MATLAB入门课程)第3章:MATLAB矩阵的操作第1部分(MATLAB入门课程)第3章:MATLAB矩阵的操作第2部分(MATLAB入门课程)第3章:MATLAB矩阵的操作第3部分(MATLAB入门课程)MATLAB课程第3章的练习题:MATLAB小白到能手的必刷题第3章:课后习题讲解中拓展的函数(MATLAB入门课程)第4章:if和switch要求语句(MATLAB入门课程)第4章:for和while循环语句(MATLAB入门课程)第4章:处理反常的try-catch语句(MATLAB入门课程)第4章:掌控程序流程的其他常用指令(MATLAB入门课程)MATLAB课程第4章的练习题:判断、循环语句关联的题目前面章节中,咱们专注于探索MATLAB的数值计算功能。本章和下一章的重点将转向文本数据处理,本章做为入门知识,下一章将触及更加多进阶的内容。首要,咱们将讲解文本字符在计算机中的存储方式,这是理解文本数据处理的基本;紧接着,在第二小节中,咱们将探讨字符数组的概念和操作办法,它们的运用办法和第三章学习的数值数组(向量和矩阵)非常类似;接下来在第三小节中,咱们将仔细介绍元胞数组,并展示怎样运用字符向量元胞数组来处理文本数据;最后,在第四小节中,咱们将学习MATLAB自2016b版本引入的字符串类型,这为文本数据处理供给了更加有效和方便的手段。
第5章:MATLAB文本数据处理入门篇目录
5.1 ASCII和Unicode编码5.2 字符数组
5.2.1 单个字符
5.2.2 字符向量
5.2.3 字符矩阵
5.3 运用元胞数组保留和处理文本数据5.3.1 元胞数组
5.3.1.1 MATLAB中的数据类型
5.3.1.2 创建元胞数组
5.3.1.3 引用元胞数组
5.3.1.4 拼接元胞数组
5.3.1.5 修改元胞数组
5.3.1.6 删除元胞数组
5.3.1.7 对元胞数组进行运算
5.3.1.8 元胞数组和其他数据类型的转换
5.3.1.9 对每一个元胞中保留的数据应用函数
5.3.2 字符向量元胞数组
5.3.3 字符向量元胞数组的综合练习
5.4 字符串数组5.4.1 字符串数组的创建办法
5.4.2 字符串数组的基本操作
5.4.3 字符串数组的运算办法
5.4.4 字符串数组的配套函数
5.4.4.1 板块一:调节功能
5.4.4.2 板块二:连接和拆分功能
5.4.4.3 板块三:替换和插进功能
5.4.4.4 板块四:提取功能
5.4.4.5 板块五:删除功能
5.4.4.6 板块六:查询功能
5.4.5 字符串数组的综合练习
5.5 本章小节
5.6 课后习题
附录1:ASCII编码
附录2:MATLAB中的空白字符
附录3:判断变量数据类型的函数
附录4:本章函数速查表5.1 ASCII和Unicode编码
首要咱们介绍字符的概念。字符是文本的最基本单元,在英文语境中,它包含字母、数字、标点符号、空格、换行符等,它们是形成单词、句子和段落的基本;在中文语境中,每一个汉字一样亦被视为一个字符。实质上,咱们在生活中读到的文本都是由于各样字符构成的。
存储在计算机中的所有数据都是以二进制的形式暗示的,由字符构成的文本数据亦是同样。将字符转换成相应的二进制数,这个过程叫作为对字符编码。为了使区别的计算机能够准确无误地交换文本数据,它们必须运用相同的编码规则。为此,咱们这一节将介绍两种最广为运用的编码标准:ASCII和Unicode编码。
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是最早的编码规则之一,它基于拉丁字母,并且重点设计来表示现代英语。ASCII编码总共定义了128个字符,这128个字符的十进制编号为0到127。
下面是ASCII编码的表格,完整的表格能够查阅本章的附录1:ASCII编码。
在ASCII编码表中,常用字符的编码(十进制)如下所示:
数字:48至57暗示 0 至 9
大写字母:65至90暗示 A 至 Z
小写字母:97至122暗示 a 至 z
另外,在ASCII编码中,编码10暗示换行符,这个符号用于将文本分隔为多行;编码32暗示空格,大众能够运用键盘上的空格键打出来。
随着计算机技术的全世界化,仅用ASCII编码已没法满足全世界用户的需要,由于它只能暗示英语文字。因此呢,各个国家或地区起始制定自己的编码标准。例如我国1980年推出了第1代汉字编码GB2312(GB:国标),并于1995年进一步推出了扩展的汉字编码GBK(K:扩)。
然则,当区别的编码不统一时(即同一个编码暗示的字符不相同期),计算机中就可能显现乱码问题。因此呢Unicode编码应运而生,它为每种语言中的每一个字符设定了统一且独一的编码,以满足跨语言、跨平台的需求,Unicode编码的中文翻译一般为统一码或万国码。另一,为了兼容ASCII编码,Unicode 编码的前128 个字符和ASCII编码一致。
尽管Unicode编码为各样字符供给了一个独一的编码,但它并无指定这些编码应该怎样存储在计算机中。日前最常用的存储格式有三种:UTF-8、UTF-16 和 UTF-32。UTF是 Unicode Transformation Format 的缩写,直译便是Unicode的转换格式,后面的8、16和32分别表率存储每种字符编码所需的最少的比特位数。关于这一起的知识点比较繁杂,感兴趣的朋友能够自动查阅关联资料。大众只需要晓得:MATLAB保留字符选择的是UTF-16格式。
附录1:ASCII编码
ASCII编码0-31和127为掌控字符,这些字符不消于表示文本,而是用于掌控如打印机、表示器、网络设备等外围设备的行径,因此呢下方表格中对应的符号为空。ASCII编码32是空格,它是最常用的空白字符,键盘上的空格键打出来的便是空格。标点符号的ASCII编码为 33-47、58-64、91-96以及 123-126,这儿面涵盖了各样平常的英文标点符号。数字的ASCII编码为48-57,暗示数字0到9。大写字母的ASCII编码为65-90,暗示体积字母A到Z。小写字母的ASCII编码为97-122,暗示小写字母a到z。下表能够上下拖动:符号十进制二进制十六进制描述英文名叫作缩写000空字符NullNUL111标题起始Start of HeadingSOH2102正文起始Start of TextSTX3113正文结束End of TextETX41004传输结束End of TransmitEOT51015询问字符EnquiryENQ61106确认回复AcknowledgeACK71117响铃BellBEL810008退格符BackspaceBS910019水平制表符Horizontal TabHT101010A换行符Line FeedLF111011B垂直制表符Vertical TabVT121100C换页符Form FeedFF131101D回车符Carriage ReturnCR141110E移出掌控Shift OutSO151111F移入掌控Shift InSI161000010数据链路转义Data Link EscapeDLE171000111设备掌控1Device Control 1DC1181001012设备掌控2Device Control 2DC2191001113设备掌控3Device Control 3DC3201010014设备掌控4Device Control 4DC4211010115否定确认Negative AcknowledgeNAK221011016同步空闲Synchronous IdleSYN231011117传输块结束End of Trans. BlockETB241100018取消CancelCAN251100119媒介结束End of MediumEM26110101A替换SubstituteSUB27110111B逃逸字符EscapeESC28111001C文件分隔符File SeparatorFS29111011D组分隔符Group SeparatorGS30111101E记录分隔符Record SeparatorRS31111111F单元分隔符Unit SeparatorUS3210000020空格SpaceSP!3310000121感叹号Exclamation Mark"3410001022双引号Quotation Mark#3510001123井号Number Sign$3610010024美元符号Dollar Sign%3710010125百分号Percent Sign&3810011026和号Ampersand3910011127单引号Apostrophe(4010100028左括号Left Parenthesis)4110100129右括号Right Parenthesis*421010102A星号Asterisk+431010112B加号Plus Sign,441011002C逗号Comma-451011012D减号Hyphen-Minus.461011102E句点Full Stop/471011112F斜杠Slash04811000030数字0Digit Zero14911000131数字1Digit One25011001032数字2Digit Two35111001133数字3Digit Three45211010034数字4Digit Four55311010135数字5Digit Five65411011036数字6Digit Six75511011137数字7Digit Seven85611100038数字8Digit Eight95711100139数字9Digit Nine:581110103A冒号Colon;591110113B分号Semicolon<601111003C少于号Less-Than Sign=611111013D等号Equals Sign>621111103E大于号Greater-Than Sign?631111113F问号Question Mark@64100000040商标At SignA65100000141字母AUppercase AB66100001042字母BUppercase BC67100001143字母CUppercase CD68100010044字母DUppercase DE69100010145字母EUppercase EF70100011046字母FUppercase FG71100011147字母GUppercase GH72100100048字母HUppercase HI73100100149字母IUppercase IJ7410010104A字母JUppercase JK7510010114B字母KUppercase KL7610011004C字母LUppercase LM7710011014D字母MUppercase MN7810011104E字母NUppercase NO7910011114F字母OUppercase OP80101000050字母PUppercase PQ81101000151字母QUppercase QR82101001052字母RUppercase RS83101001153字母SUppercase ST84101010054字母TUppercase TU85101010155字母UUppercase UV86101011056字母VUppercase VW87101011157字母WUppercase WX88101100058字母XUppercase XY89101100159字母YUppercase YZ9010110105A字母ZUppercase Z[9110110115B左方括号Left Square Bracket\9210111005C反斜杠Backslash]9310111015D右方括号Right Square Bracket^9410111105E脱字符Circumflex Accent_9510111115F下划线Underscore`96110000060重音符Grave Accenta97110000161字母aLowercase ab98110001062字母bLowercase bc99110001163字母cLowercase cd100110010064字母dLowercase de101110010165字母eLowercase ef102110011066字母fLowercase fg103110011167字母gLowercase gh104110100068字母hLowercase hi105110100169字母iLowercase ij10611010106A字母jLowercase jk10711010116B字母kLowercase kl10811011006C字母lLowercase lm10911011016D字母mLowercase mn11011011106E字母nLowercase no11111011116F字母oLowercase op112111000070字母pLowercase pq113111000171字母qLowercase qr114111001072字母rLowercase rs115111001173字母sLowercase st116111010074字母tLowercase tu117111010175字母uLowercase uv118111011076字母vLowercase vw119111011177字母wLowercase wx120111100078字母xLowercase xy121111100179字母yLowercase yz12211110107A字母zLowercase z{12311110117B左大括号Left Curly Bracket|12411111007C竖线Vertical Bar}12511111017D右大括号Right Curly Bracket~12611111107E浪花号Tilde12711111117F删除DeleteDEL下面附上33个掌控字符的功能:
NUL (0): 空字符(Null)用于标记数据串的终点,常用于字符串的结束。SOH (1): 标题起始(Start of Header)标志通信头部的起始,用于在数据流中标识信息头的起始。STX (2): 正文起始(Start of Text)用来标识文本串的初始位置。ETX (3): 正文结束(End of Text)标志文本串的结束。EOT (4): 传输结束(End of Transmission)用于指示通信会话的结束。ENQ (5): 询问字符(Enquiry)用来请求远程系统的响应。ACK (6): 确认回复(Acknowledgment)用于确认已成功接收信息。BEL (7): 响铃(Bell)用于发出警告声或通告,例如打印机的提示音。BS (8): 退格符(Backspace)用于将光标向左移动一格或删除前一个字符。HT (9): 水平制表符(Horizontal Tab)用于创建水平间距,例如在文本编辑中的制表位。LF (10): 换行符(Line Feed)用于在文本中创建新的一行。VT (11): 垂直制表符(Vertical Tab)用于在打印文档中创建垂直间距。FF (12): 换页符(Form Feed)用于在打印文档中起始新的一页。CR (13): 回车符(Carriage Return)用于将光标移动到行首或在打印机中起始新一行。SO (14): 移出掌控(Shift Out)用于切换到另一套字符集。SI (15): 移入掌控(Shift In)用于从替代字符集返回到标准字符集。DLE (16): 数据链路转义(Data Link Escape)用于掌控数据传输过程中的特殊功能。DC1 (17): 设备掌控1(Device Control 1)常用于设备的起步或停止掌控。DC2 (18): 设备掌控2(Device Control 2)用于设备的附加掌控功能。DC3 (19): 设备掌控3(Device Control 3)一样用于设备的掌控。DC4 (20): 设备掌控4(Device Control 4)用于设备的其他掌控。NAK (21): 否定确认(Negative Acknowledgement)用于暗示接收失败或错误。SYN (22): 同步空闲(Synchronous Idle)用于在同步传输系统中实现字符同步。ETB (23): 传输块结束(End of Transmission Block)用于标记传输块的结束。CAN (24): 取消(Cancel)用于取消当前操作或数据。EM (25): 媒介结束(End of Medium)用于标记存储介质的结尾。SUB (26): 替换(Substitute)用于替换错误或无效的字符。ESC (27): 逃逸字符(Escape)用于供给扩展的命令集或掌控序列的起始。FS (28): 文件分隔符(File Separator)用于分隔文件或数据集。GS (29): 组分隔符(Group Separator)用于分隔数据组。RS (30): 记录分隔符(Record Separator)用于分隔记录。US (31): 单元分隔符(Unit Separator)用于分隔数据单元。DEL (127): 删除(Delete)用于删除字符,一般暗示为退格键的功能。大都数的掌控字符在现代计算中的应用已然较为有限,但在处理低级通信和设备掌控时仍然有其重要性。
本讲义配套的讲解视频已在B站发布,大众想看讲解视频的能够前往B站免费观看:《MATLAB教程新手入门篇(数学建模清风主讲,适合零基本朋友观看)》
https://www.bilibili.com/video/BV1dN4y1Q7Kt
视频配套的资料和代码能够看第1个视频。
请点击右上角的三个点...,将公众号设为星标,这般就能第1时间收到公众号推送的文案啦。