isstrprop

Определите, какие характеры во входных строках имеют заданную категорию

Описание

пример

TF = isstrprop(str,category) определяет, имеют ли символы во входном тексте заданную категорию, такую как буквы, числа или пробел. Например, isstrprop('ABC123','alpha') возвращает 1- 6 логический массив, [1 1 1 0 0 0], указание, что первые три символа являются буквами.

  • Если str символьный массив, скаляр строки или числовой массив, затем isstrprop возвращает логический массив.

  • Если str массив ячеек из символьных векторов или массив строк, затем isstrprop возвращает массив ячеек логических векторов.

пример

TF = isstrprop(str,category,'ForceCellOutput',tf), где tf 1 TRUE), возвращает TF как массив ячеек, даже когда str символьный массив, скаляр строки или числовой массив. Значение по умолчанию для tf 0 ложь).

Примеры

свернуть все

Создайте вектор символов и определите, какие символы являются буквами.

chr = '123 Maple Street'
chr = 
'123 Maple Street'
TF = isstrprop(chr,'alpha')
TF = 1x16 logical array

   0   0   0   0   1   1   1   1   1   0   1   1   1   1   1   1

Найдите индексы для букв в chr использование TF.

idx = find(TF)
idx = 1×11

     5     6     7     8     9    11    12    13    14    15    16

chr(idx)
ans = 
'MapleStreet'

Создание массивов строк. Затем определите, какие символы принадлежат различным категориям с помощью isstrprop функция.

Создайте скаляр строки и определите, какой из его символов является числовыми цифрами. Начиная в R2017a, можно создать строки с помощью двойных кавычек.

str = "123 Maple Street"
str = 
"123 Maple Street"
TF = isstrprop(str,'digit')
TF = 1x16 logical array

   1   1   1   0   0   0   0   0   0   0   0   0   0   0   0   0

Создайте нескалярный массив строк. Определите, какие символы в каждой строке являются пробельными символами. isstrprop возвращает массив ячеек, в котором каждая ячейка содержит результаты для строки в str.

str = ["123 Maple St.";"456 Oak St."]
str = 2x1 string array
    "123 Maple St."
    "456 Oak St."

TF = isstrprop(str,'wspace')
TF=2×1 cell
    {1x13 logical}
    {1x11 logical}

Отобразить результаты для второй строки, str(2), индексируйте в TF{2}.

TF{2}
ans = 1x11 logical array

   0   0   0   1   0   0   0   1   0   0   0

Создайте массив ячеек из символьных векторов. Определите, какие символы являются пробельными символами.

C = {'123 Maple St.';'456 Oak St.'}
C = 2x1 cell array
    {'123 Maple St.'}
    {'456 Oak St.'  }

TF = isstrprop(C,'wspace')
TF=2×1 cell
    {1x13 logical}
    {1x11 logical}

Найдите символы пунктуации в векторе символов. isstrprop возвращает логический вектор, указывающий, какие символы принадлежат той категории. Обеспечьте isstrprop возвратить логический вектор в массиве ячеек.

chr = 'A horse! A horse! My kingdom for a horse!'
chr = 
'A horse! A horse! My kingdom for a horse!'
TF = isstrprop(chr,'punct','ForceCellOutput',true)
TF = 1x1 cell array
    {1x41 logical}

Найдите индексы для знаков препинания в chr использование TF{1}.

find(TF{1})
ans = 1×3

     8    17    41

Создайте числовой массив. Определите, какие числа соответствуют кодам символов для букв.

X = [77 65 84 76 65 66]
X = 1×6

    77    65    84    76    65    66

TF = isstrprop(X,'alpha')
TF = 1x6 logical array

   1   1   1   1   1   1

isstrprop идентифицирует все числа как коды символов для букв. Преобразуйте числа в их соответствующие символы с char функция.

c = char(X)
c = 
'MATLAB'

Входные параметры

свернуть все

Входной массив, заданный как массив строк, символьный массив, массив ячеек из символьных векторов или числовой массив.

Если str числовой массив, затем isstrprop обрабатывает числа как коды символов Unicode®. Если числа являются двойными - или числа с плавающей запятой с одинарной точностью, то isstrprop округляет их к самым близким целочисленным значениям прежде, чем интерпретировать их как коды символов.

Типы данных: string | char | cell | double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Символьная категория, заданная как вектор символов или скаляр строки. isstrprop классифицирует символы на str согласно категориям, заданным стандартом Unicode.

Категория

Описание

alpha

Буквы.

alphanum

Буквы или числовые цифры.

cntrl

Управляющие символы (например, char(0:20)).

digit

Числовые цифры.

graphic

Графические символы. isstrprop обработки все символы Unicode как графические символы, за исключением следующего:

  • Неприсвоенные символы

  • Пробельные символы

  • Диафрагма линии

  • Разделитель абзацев

  • Управляющие символы

  • Частные пользовательские символы

  • Суррогатные символы

lower

Строчные буквы.

print

Графические символы, плюс char(32).

punct

Символы пунктуации.

wspace

Пробельные символы. Эта область значений включает определение ANSI® C пробела, {' ','\t','\n','\r','\v','\f'}, в дополнение к некоторым другим символам Unicode.

upper

Прописные буквы.

xdigit

Допустимые шестнадцатеричные цифры.

TRUE или FALSE, заданный как 1 или 0.

Выходные аргументы

свернуть все

TRUE или FALSE, возвращенный как логический массив или массив ячеек логических векторов.

  • Если str вектор символов, скаляр строки или числовой массив, затем TF логический массив, указывающий, какие символы принадлежат заданной категории.

  • Если str массив ячеек из символьных векторов или массив строк, затем TF массив ячеек. Для каждого элемента str, соответствующая ячейка TF содержит логический вектор, указывающий, какие символы в том элементе принадлежат заданной категории.

Советы

Пробельные символы, для который wspace опция возвращает true включайте вкладку, перевод строки, вертикальную вкладку, перевод формата, возврат каретки и пробел, в дополнение к некоторым другим символам Unicode. Видеть все символы для который wspace опция возвращает true, введите следующую команду, и затем ищите возвращенные десятичные коды в ссылке Unicode:

find(isstrprop(char(1):char(intmax('uint16')),'wspace'))

Расширенные возможности

Представлено до R2006a