Menguasai String MATLAB: Panduan Pembuatan & Penggunaan yang Mudah
Membuat string karakter sangat sederhana dalam MATLAB. Faktanya, kami telah menggunakannya banyak kali. Sebagai contoh, Anda mengetikkan berikut ini di command prompt −
Live Demo
my_string = 'Tutorials Point'
MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −
my_string = Tutorials Point
MATLAB menganggap semua variabel sebagai array, dan string dianggap sebagai array karakter. Mari kita gunakan perintah whos untuk memeriksa variabel yang dibuat di atas −
whos
MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −
Name Size Bytes Class Attributes my_string 1x16 32 char
Menariknya, Anda dapat menggunakan fungsi konversi numerik seperti uint8 atau uint16 untuk mengonversi karakter dalam string menjadi kode numerik mereka. Fungsi char mengonversi vektor integer kembali ke karakter −
Contoh
Buat file skrip dan ketik kode berikut ke dalamnya −
Live Demo
my_string = 'Tutorial''s Point'; str_ascii = uint8(my_string) % 8-bit ascii values str_back_to_char= char(str_ascii) str_16bit = uint16(my_string) % 16-bit ascii values str_back_to_char = char(str_16bit)
Ketika Anda menjalankan file, itu menampilkan hasil berikut −
str_ascii = 84 117 116 111 114 105 97 108 39 115 32 80 111 105 110 116 str_back_to_char = Tutorial's Point str_16bit = 84 117 116 111 114 105 97 108 39 115 32 80 111 105 110 116 str_back_to_char = Tutorial's Point
Array Karakter Persegi Panjang
String yang telah kami bahas sejauh ini adalah array karakter satu dimensi; namun, kita perlu menyimpan lebih dari itu. Kita perlu menyimpan data teks yang lebih dimensi dalam program kita. Ini dicapai dengan membuat array karakter persegi panjang.
Cara termudah untuk membuat array karakter persegi panjang adalah dengan menggabungkan dua atau lebih array karakter satu dimensi, baik secara vertikal maupun horizontal sesuai kebutuhan.
Anda dapat menggabungkan string secara vertikal dengan salah satu cara berikut −
Menggunakan operator konkatenasi MATLAB [] dan memisahkan setiap baris dengan titik koma (;). Perhatikan bahwa dalam metode ini setiap baris harus berisi jumlah karakter yang sama. Untuk string dengan panjang berbeda, Anda harus mengisi dengan spasi sesuai kebutuhan.
Menggunakan fungsi char. Jika string memiliki panjang berbeda, char akan mengisi string yang lebih pendek dengan spasi di akhir sehingga setiap baris memiliki jumlah karakter yang sama.
Contoh
Buat file skrip dan ketik kode berikut ke dalamnya −
Live Demo
doc_profile = ['Zara Ali '; ... 'Sr. Surgeon '; ... 'R N Tagore Cardiology Research Center'] doc_profile = char('Zara Ali', 'Sr. Surgeon', ... 'RN Tagore Cardiology Research Center') Ketika Anda menjalankan file, itu menampilkan hasil berikut −
doc_profile = Zara Ali Sr. Surgeon R N Tagore Cardiology Research Center doc_profile = Zara Ali Sr. Surgeon RN Tagore Cardiology Research Center
Anda dapat menggabungkan string secara horizontal dengan salah satu cara berikut −
Menggunakan operator konkatenasi MATLAB, [] dan memisahkan string masukan dengan koma atau spasi. Metode ini mempertahankan spasi di akhir dari array masukan.
Menggunakan fungsi konkatenasi string, strcat. Metode ini menghapus spasi di akhir dari input.
Contoh
Buat file skrip dan ketik kode berikut ke dalamnya −
Live Demo
name = 'Zara Ali '; position = 'Sr. Surgeon '; worksAt = 'R N Tagore Cardiology Research Center'; profile = [name ', ' position ', ' worksAt] profile = strcat(name, ', ', position, ', ', worksAt)
Ketika Anda menjalankan file, itu menampilkan hasil berikut −
profile = Zara Ali , Sr. Surgeon , R N Tagore Cardiology Research Center profile = Zara Ali,Sr. Surgeon,R N Tagore Cardiology Research Center
Menggabungkan String ke dalam Cell Array
Dari diskusi sebelumnya, jelas bahwa menggabungkan string dengan panjang berbeda bisa menjadi kesulitan karena semua string dalam array harus memiliki panjang yang sama. Kami telah menggunakan spasi di akhir string untuk menyamakan panjangnya.
Namun, cara yang lebih efisien untuk menggabungkan string adalah dengan mengubah array yang dihasilkan menjadi cell array.
Cell array MATLAB dapat menyimpan data dengan ukuran dan tipe yang berbeda dalam array. Cell array menyediakan cara yang lebih fleksibel untuk menyimpan string dengan panjang yang bervariasi.
Fungsi cellstr mengonversi array karakter menjadi cell array dari string.
Contoh
Buat file skrip dan ketik kode berikut ke dalamnya −
Live Demo
name = 'Zara Ali '; position = 'Sr. Surgeon '; worksAt = 'R N Tagore Cardiology Research Center'; profile = char(name, position, worksAt); profile = cellstr(profile); disp(profile)
Ketika Anda menjalankan file, itu menampilkan hasil berikut −
{ [1,1] = Zara Ali [2,1] = Sr. Surgeon [3,1] = R N Tagore Cardiology Research Center } Fungsi String di MATLAB
MATLAB menyediakan banyak fungsi string untuk membuat, menggabungkan, memparsing, membandingkan, dan memanipulasi string.
Tabel berikut memberikan deskripsi singkat tentang fungsi string di MATLAB −
| Fungsi | Tujuan |
|---|
| Fungsi untuk menyimpan teks dalam array karakter, menggabungkan array karakter, dll. |
|---|
| blanks | Membuat string karakter kosong |
| cellstr | Membuat cell array string dari array karakter |
| char | Mengonversi ke array karakter (string) |
| iscellstr | Menentukan apakah input adalah cell array string |
| ischar | Menentukan apakah item adalah array karakter |
| sprintf | Memformat data ke dalam string |
| strcat | Menggabungkan string secara horizontal |
| strjoin | Menggabungkan string dalam cell array menjadi satu string |
| Fungsi untuk mengidentifikasi bagian string, mencari dan mengganti substring |
|---|
| ischar | Menentukan apakah item adalah array karakter |
| isletter | Elemen array yang merupakan huruf alfabet |
| isspace | Elemen array yang merupakan karakter spasi |
| isstrprop | Menentukan apakah string berada dalam kategori yang ditentukan |
| sscanf | Membaca data yang diformat dari string |
| strfind | Menemukan satu string di dalam string lain |
| strrep | Menemukan dan mengganti substring |
| strsplit | Memisahkan string pada delimiter yang ditentukan |
| strtok | Bagian terpilih dari string |
| validatestring | Memeriksa validitas teks string |
| symvar | Menentukan variabel simbolis dalam ekspresi |
| regexp | Mencocokkan ekspresi reguler (case sensitive) |
| regexpi | Mencocokkan ekspresi reguler (case insensitive) |
| regexprep | Mengganti string menggunakan ekspresi reguler |
| regexptranslate | Menerjemahkan string ke dalam ekspresi reguler |
| Fungsi untuk membandingkan string |
|---|
| strcmp | Membandingkan string (case sensitive) |
| strcmpi | Membandingkan string (case insensitive) |
| strncmp | Membandingkan n karakter pertama string (case sensitive) |
| strncmpi | Membandingkan n karakter pertama string (case insensitive) |
| Fungsi untuk mengubah string ke huruf besar atau kecil, membuat atau menghapus spasi putih |
|---|
| deblank | Menghapus spasi di akhir dari ujung string |
| strtrim | Menghapus spasi putih di awal dan akhir dari string |
| lower | Mengonversi string ke huruf kecil |
| upper | Mengonversi string ke huruf besar |
| strjust | Menyelaraskan array karakter |
Contoh
Contoh berikut mengilustrasikan beberapa fungsi string yang disebutkan di atas −
Memformat String
Buat file skrip dan ketik kode berikut ke dalamnya −
Live Demo
A = pi*1000*ones(1,5); sprintf(' %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n', A) Ketika Anda menjalankan file, itu menampilkan hasil berikut −
ans = 3141.592654 3141.59 +3141.59 3141.59 000003141.59
Menggabungkan String
Buat file skrip dan ketik kode berikut ke dalamnya −
Live Demo
%cell array of strings str_array = {'red','blue','green', 'yellow', 'orange'}; % Join strings in cell array into single string str1 = strjoin(str_array, "-") str2 = strjoin(str_array, ",") Ketika Anda menjalankan file, itu menampilkan hasil berikut −
str1 = red-blue-green-yellow-orange str2 = red,blue,green,yellow,orange
Mencari dan Mengganti String
Buat file skrip dan ketik kode berikut ke dalamnya −
Live Demo
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 names first_names = strtok(students) Ketika Anda menjalankan file, itu menampilkan hasil berikut −
new_student = { [1,1] = Poulomi Dutta } first_names = { [1,1] = Zara [1,2] = Neha [1,3] = Monica [1,4] = Madhu [1,5] = Madhu [1,6] = Bhawna [1,7] = Nuha [1,8] = Reva [1,9] = Sunaina [1,10] = Sofia } Membandingkan String
Buat file skrip dan ketik kode berikut ke dalamnya −
Live Demo
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 Ketika Anda menjalankan file, itu menampilkan hasil berikut −
str1 = This is test str2 = This is text ans = This is test and This is text are not equal