Поиск и замена текста

Начиная с R2016b. Поиск в заменах и заменяющий (R2016a).

Обработка текстовых данных часто включает подстроки поиска и замены. Существует несколько функций, которые находят текст и возвращают различную информацию: некоторые функции подтверждают, что текст существует, в то время как другие считают случаи, найдите начальные значения индекса или извлеките подстроки. Эти функции работают над векторами символов и строковыми скалярами, такими как "yes", а также символьные массивы и строковые массивы, такой как ["yes", "no";"abc"x, y, z ]. Кроме того, можно использовать шаблоны, чтобы задать правила для поиска, такие как один или несколько обозначают буквами или символы цифры.

Поиск текста

Чтобы определить, присутствует ли текст, используйте функцию, которая возвращает логические значения, как containsstartsWith, или endsWith. Логические значения 1 соответствуйте верный, и 0 соответствует лжи.

txt = "she sells seashells by the seashore"; 
TF = contains(txt,"sea")
TF = logical
   1

Вычислите, сколько раз текст происходит с помощью count функция.

n = count(txt,"sea")
n = 2

Чтобы расположиться, где текст происходит, используйте strfind функция, которая возвращает начальные значения индекса.

idx = strfind(txt,"sea")
idx = 1×2

    11    28

Найдите и извлеките текст с помощью функций экстракции, таких как extractextractBetweenextractBefore, или extractAfter.

mid = extractBetween(txt,"sea","shore")
mid = 
"shells by the sea"

Опционально, включайте граничный текст.

mid = extractBetween(txt,"sea","shore","Boundaries","inclusive")
mid = 
"seashells by the seashore"

Найдите текст в массивах

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

songs = ["Yellow Submarine"; 
         "Penny Lane";  
         "Blackbird"]; 

colors =["Red","Yellow","Blue","Black","White"]; 

TF = contains(songs,colors)
TF = 3x1 logical array

   1
   0
   1

Чтобы перечислить песни, которые содержат названия цвета, используйте логический TF массив как индексы в исходный songs массив. Этот метод называется логической индексацией.

colorful = songs(TF)
colorful = 2x1 string
    "Yellow Submarine"
    "Blackbird"

Используйте функциональный replace заменять текст в songs это совпадает с элементами colors со строкой "Orange".

replace(songs,colors,"Orange")
ans = 3x1 string
    "Orange Submarine"
    "Penny Lane"
    "Orangebird"

Совпадайте с шаблонами

Начиная с R2020b

В дополнение к поиску буквенного текста, как “море” или “желтый”, можно искать текст, который совпадает с шаблоном. Существует много предопределенных шаблонов, таких как digitsPattern найти числовые цифры.

address = "123a Sesame Street, New York, NY 10128"; 
nums = extract(address,digitsPattern) 
nums = 2x1 string
    "123"
    "10128"

Для дополнительной точности в поисковых запросах можно объединить шаблоны. Например, найдите слова, которые запускаются с символа “S”. Используйте строку, чтобы задать символ “S” и lettersPattern найти дополнительные буквы после того символа.

pat = "S" + lettersPattern; 
StartWithS = extract(address,pat) 
StartWithS = 2x1 string
    "Sesame"
    "Street"

Для получения дополнительной информации смотрите Выражения Шаблона Сборки.

Смотрите также

| | | | |

Похожие темы