在 MATLAB 中確定哪些字元是字母

Ammar Ali 2022年5月11日
在 MATLAB 中確定哪些字元是字母

本教程將討論使用 Matlab 中的 isletter() 函式確定哪些字元是字母。

使用 MATLAB 中的 isletter() 函式檢查哪些字元是字母

字串或字元陣列可以包含字母,而像房子地址這樣的數字可以包含字母和數字。如果我們想查詢給定的字元、字元陣列或字串是否包含字母,我們可以使用 Matlab 的內建函式 isletter()

在單個字元輸入的情況下,isletter() 函式根據字元返回 1 或 0。如果字元是字母,isletter() 函式將返回 1 或 true,如果字元不是字母,則 isletter() 函式將返回 0 或 false。

例如,讓我們檢查給定的字元是否是字母。請參閱下面的程式碼。

c = '5';
isletter(c)

輸出:

ans =

  logical

   0

在輸出中,結果為 0,這意味著給定的字元不是字母。

我們還可以檢查字串或字元陣列是否包含字母。如果字串或字元陣列中的字元是字母,則 isletter() 函式將在其位置返回 1,在其他位置返回 0。

例如,讓我們建立一個包含字母和數字的字串,並檢查字串中有多少個字母。請參閱下面的程式碼。

c = '25 street';
isletter(c)

輸出:

ans =

  1×9 logical array

   0   0   0   1   1   1   1   1   1

在輸出中,我們可以看到前三個字元不是字母,因為前三個位置輸出為 0,其餘字元是字母,因為輸出的其餘部分包含 1。

空格也被認為是一個字元,為什麼我們可以看到輸出在空格的位置包含一個 0。

輸入可以是標量、向量、矩陣或多維陣列。輸出將是一個邏輯陣列。

isnumeric() 函式可用於檢查輸入是否為數字,isstring() 函式可用於檢查輸入是否為字串。

我們還可以在判斷輸入字串是否包含字母后對其進行操作。

例如,假設我們要提取字串中存在的字母。在這種情況下,我們可以使用 isletter() 函式來檢查字串中是否存在字母。

如果字串中存在字母,我們將使用 find() 函式找到它們的索引,然後我們可以使用這些索引提取它們。請參閱下面的程式碼。

OldString = '25 street'
l = isletter(OldString);
indices = find(l==1);
NewString = OldString(indices)

輸出:

OldString =

    '25 street'


NewString =

    'street'

在輸出中,新字串僅包含字母。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - MATLAB Character