日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【新星计划】MATLAB-字符串处理

發布時間:2025/3/21 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【新星计划】MATLAB-字符串处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在MATLAB中創建一個字符string非常簡單。事實上,我們已經使用了很多次。例如,在命令提示符下鍵入以下內容:

my_string = "Tutorials Point"

MATLAB將執行上述語句并返回以下結果?

?

my_string = Tutorials Point

MATLAB將所有變量視為數組,并將字符string視為字符數組。讓我們使用whos命令來檢查上面創建的變量 -

?

whos

MATLAB將執行上述語句并返回以下結果 -

?

Name Size Bytes Class Attributesmy_string 1x16 32 char

?

矩形字符數組

到目前為止我們探討的字符string是一維字符數組;?但是,我們需要存儲的不止一個。我們需要在我們的程序中存儲更多的維度文本數據。這是通過創建矩形字符數組實現的。

創建矩形字符數組的最簡單方法是根據需要垂直或水平連接兩個或更多個一維字符數組。

您可以通過以下任一方式垂直組合字符string -

  • 使用MATLAB連接運算符[]并用分號(;)分隔每行。請注意,在這種方法中,每行必須包含相同數量的字符。對于不同長度的字符string,您應該根據需要填充空格字符。

  • 使用char函數。如果字符string的長度不同,則char將較短的字符string填充到尾部空白處,以使每行具有相同的字符數。

創建腳本文件并在其中鍵入以下代碼 -???????

doc_profile = ["Zara Ali "; ... "Sr. Surgeon "; ... "R N Tagore Cardiology Research Center"]doc_profile = char(strcat("Zara Ali", strcat("Sr. Surgeon",strcat("RN Tagore Cardiology Research Center"))))

運行文件時,會顯示以下結果 -???????

doc_profile =Zara Ali Sr. Surgeon R N Tagore Cardiology Research Centerdoc_profile =Zara Ali Sr. Surgeon RN Tagore Cardiology Research Center

您可以通過以下任一方式水平組合字符string -

  • 使用MATLAB連接運算符,[]并用逗號或空格分隔輸入字符string。該方法保留輸入數組中的任何尾隨空格。

  • 使用字符string連接功能,strcat。此方法會刪除輸入中的尾隨空格。

創建腳本文件并在其中鍵入以下代碼 -???????

name = "Zara Ali ";position = "Sr. Surgeon "; worksAt = "R N Tagore Cardiology Research Center";profile = [name ", " position ", " worksAt]profile = strcat(name, ", ", position, ", ", worksAt)

運行文件時,會顯示以下結果 -

???????

profile = Zara Ali , Sr. Surgeon , R N Tagore Cardiology Research Centerprofile = Zara Ali,Sr. Surgeon,R N Tagore Cardiology Research Center

將字符string組合成單元格數組

從我們之前的探討中可以清楚的表明,組合不同長度的字符string可能會很痛苦,因為數組中的所有字符string都必須具有相同的長度。我們在字符string的末尾使用了空格,使其長度相等。

然而,組合字符string的更有效的方法是將生成的數組轉換為單元格數組。

MATLAB單元格數組可以在數組中保存不同大小和類型的數據。單元格數組提供了一種更靈活的方式來存儲不同長度的字符string。

cellstr的函數轉換字符數組成字符string的單元數組。

創建腳本文件并在其中鍵入以下代碼 -???????

name = "Zara Ali ";position = "Sr. Surgeon "; worksAt = "R N Tagore Cardiology Research Center";profile?=?char(strcat(name,?position,?worksAt));profile = cellstr(profile);disp(profile)

運行文件時,會顯示以下結果 -

???????

{ [1,1] = Zara Ali [2,1] = Sr. Surgeon [3,1] = R N Tagore Cardiology Research Center }

MATLAB中的字符string函數

MATLAB提供了許多字符string函數來創建,組合,解析,比較和操作字符string。

下表簡要介紹了MATLAB中的字符string函數 -

功能目的用于將文本存儲在字符數組中,組合字符數組等的功能識別字符string部分的函數,查找和替換子string字符string比較功能將字符string更改為大寫或小寫的功能,創建或刪除空格
空白創建空白字符的字符string
char轉換為字符數組(字符string)
iscellstr確定輸入是字符string的單元格數組
sprintf將數據格式化為字符string
strcat水平連接字符string
strjoin將單元格數組中的字符string連接到單個字符string中
isspace數組元素是空格
isstrprop確定字符string是否是指定的類別
sscanf從字符string讀取格式化數據
strfind在另一個中找到一個字符string
strrep查找并替換子string
strsplit在指定的分隔符處拆分字符string
strtok字符string的選定部分
symvar確定表達式中的符號變量
regexprep使用正則表達式替換字符string
strcmp比較字符string(區分大小寫)
strcmpi比較字符string(不區分大小寫)
strncmp比較字符string的前n個字符(區分大小寫)
strncmpi比較字符string的前n個字符(不區分大小寫)
deblank從字符string末尾剝去尾隨空白
strtrim從字符string中刪除前導和尾隨的空格

例子

以下示例說明了一些上述字符string函數 -

格式化字符string

創建腳本文件并在其中鍵入以下代碼 -

???????

A = pi*1000*ones(1,5);sprintf(" %f %.2f %+.2f %12.2f %012.2f ", A)

運行文件時,會顯示以下結果 -

連接字符string

創建腳本文件并在其中鍵入以下代碼 -

???????

%cell array of stringsstr_array = {'red','blue','green', 'yellow', 'orange'};% Join strings in cell array into single stringstr1 = strjoin(str_array, "-")str2 = strjoin(str_array, ",")

運行文件時,會顯示以下結果 -

???????

str1 = red-blue-green-yellow-orangestr2 = red,blue,green,yellow,orange

查找和替換字符string

創建腳本文件并在其中鍵入以下代碼 -???????

students = {'Zara Ali', 'Neha Bhatnagar', ... 'Monica Malik', 'Madhu Gautam', ... 'Madhu Sharma', 'Bhawna Sharma',... 'Nuha Ali', 'Reva Dutta', ... 'Sunaina Ali', 'Sofia Kabir'}; % The strrep function searches and replaces sub-string.new_student = strrep(students(8), 'Reva', 'Poulomi')% Display first namesfirst_names = strtok(students)

運行文件時,會顯示以下結果

比較字符string

創建腳本文件并在其中鍵入以下代碼 -

???????

str1 = "This is test"str2 = "This is text"if (strcmp(str1, str2)) sprintf("%s and %s are equal", str1, str2)else???sprintf("%s?and?%s?are?not?equal",?str1,?str2) end

運行文件時,會顯示以下結果 -

???????

str1 = This is teststr2 = This is textans = This is test and This is text are not equal

總結

以上是生活随笔為你收集整理的【新星计划】MATLAB-字符串处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。