exponenta event banner

извлечение

Извлечение подстрок из строк

Описание

пример

newStr = extract(str,pat) возвращает все подстроки в str которые соответствуют шаблону, указанному pat.

Если str является строковым массивом или массивом ячеек символьных векторов, затем функция извлекает подстроки из каждого элемента str. Если pat - массив, затем функция сопоставляется с несколькими шаблонами.

пример

newStr = extract(str,pos) возвращает символ в str в положении, указанном pos.

Примеры

свернуть все

Создайте строковый массив, содержащий адреса. Каждый адрес заканчивается почтовым индексом США.

str = ["73 Beacon St., Boston, MA, 02116";
       "1640 Riverside Dr., Hill Valley, CA, 92530";
       "138 Main St., Cambridge, MA, 02138"]
str = 3x1 string
    "73 Beacon St., Boston, MA, 02116"
    "1640 Riverside Dr., Hill Valley, CA, 92530"
    "138 Main St., Cambridge, MA, 02138"

Создайте шаблон, соответствующий любой последовательности цифр.

pat = digitsPattern
pat = pattern
  Matching:

    digitsPattern

Используйте его для извлечения всех последовательностей цифр из адресов.

newStr = extract(str,pat)
newStr = 3x2 string
    "73"      "02116"
    "1640"    "92530"
    "138"     "02138"

digitsPattern образец соответствует уличным номерам, номерам квартир и почтовым индексам. Чтобы соответствовать только почтовым кодам, создайте шаблон, соответствующий последовательности цифр в конце адреса.

pat = digitsPattern + textBoundary
pat = pattern
  Matching:

    digitsPattern + textBoundary

Извлеките ZIP-коды.

newStr = extract(str,pat)
newStr = 3x1 string
    "02116"
    "92530"
    "02138"

Список функций, создающих объекты массива, см. в разделе pattern.

Создайте строку.

str = "All's well that ends well"
str = 
"All's well that ends well"

Извлеките первый символ в строке.

extract(str,1)
ans = 
"A"

Извлеките последний символ.

extract(str,strlength(str))
ans = 
"l"

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

свернуть все

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

Шаблон поиска, указанный как один из следующих:

  • Строковый массив

  • Символьный вектор

  • Массив ячеек символьных векторов

  • pattern множество

Позиция, заданная как числовой массив.

Если str является строковым массивом или массивом ячеек символьных векторов, то pos может быть числовым скалярным или числовым массивом того же размера, что и str.

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

свернуть все

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

Если str является строковым массивом, то newStr также является строковым массивом. В противном случае newStr является массивом ячеек символьных векторов.

Представлен в R2020b