Определите, заканчиваются ли строки шаблоном
Создайте строковый массив, содержащий имена файлов. Определите, какие имена файлов заканчиваются на .gz расширение.
Начиная с R2017a, можно создавать строки с помощью двойных кавычек.
str = ["abstract.docx","data.tar.gz","mycode.m"; ... "data-analysis.ppt","results.ptx","temp-archive.gz"]
str = 2x3 string
"abstract.docx" "data.tar.gz" "mycode.m"
"data-analysis.ppt" "results.ptx" "temp-archive.gz"
При использовании R2016b создайте массивы строк с помощью string функция вместо двойных кавычек.
Возвращает логический массив, где позиция каждого элемента равна 1 соответствует положению строки в str который заканчивается на .gz.
pat = ".gz";
TF = endsWith(str,pat)TF = 2x3 logical array
0 1 0
0 0 1
Отображение имен файлов, заканчивающихся на .gz. Индекс обратно в str использование TF.
str(TF)
ans = 2x1 string
"data.tar.gz"
"temp-archive.gz"
С R2020b г.
Создайте строковый массив имен файлов и папок, в котором некоторые имена имеют расширения.
str = ["abstract.docx","data.tar.gz","REPORTS"; ... "data-analysis.ppt","results.ptx","ARCHIVE"]
str = 2x3 string
"abstract.docx" "data.tar.gz" "REPORTS"
"data-analysis.ppt" "results.ptx" "ARCHIVE"
Чтобы найти имена, которые заканчиваются расширениями, создайте шаблон, соответствующий периоду, за которым следуют буквы, используя lettersPattern функция. (Сложный шаблон можно создать, объединив простые шаблоны в выражениях. Такие выражения могут также включать литеральный текст, как "." в этом примере.)
pat = "." + lettersPatternpat = pattern
Matching:
"." + lettersPattern
Возвращает логический массив, указывающий, какие имена заканчиваются расширениями.
TF = endsWith(str,pat)
TF = 2x3 logical array
1 1 0
1 1 0
Отображение соответствующих имен.
str(TF)
ans = 4x1 string
"abstract.docx"
"data-analysis.ppt"
"data.tar.gz"
"results.ptx"
Найдите имена с расширениями длиной ровно три буквы.
pat = "." + lettersPattern(3);
TF = endsWith(str,pat);
str(TF)ans = 2x1 string
"data-analysis.ppt"
"results.ptx"
Список функций, создающих объекты массива, см. в разделе pattern.
Создайте строковый массив, содержащий имена файлов. Определите, какие имена файлов заканчиваются на .docx, .xlsx, или .gz расширения.
Начиная с R2017a, можно создавать строки с помощью двойных кавычек.
str = ["data.tar.gz","mycode.m","outputs.xlsx","results.pptx"]
str = 1x4 string
"data.tar.gz" "mycode.m" "outputs.xlsx" "results.pptx"
pat = [".docx",".xlsx",".gz"]; TF = endsWith(str,pat)
TF = 1x4 logical array
1 0 1 0
Отображение имен файлов, заканчивающихся на .docx, .xlsx, или .gz. Индекс обратно в str использование TF.
str(TF)
ans = 1x2 string
"data.tar.gz" "outputs.xlsx"
Создайте строковый массив, содержащий имена файлов. Определите, какие имена файлов заканчиваются на .gz расширение, игнорирование обращения.
Начиная с R2017a, можно создавать строки с помощью двойных кавычек.
str = ["DATA.TAR.GZ","mycode.m","SUMMARY.PPT","tmp.gz"]
str = 1x4 string
"DATA.TAR.GZ" "mycode.m" "SUMMARY.PPT" "tmp.gz"
pattern = ".gz"; TF = endsWith(str,pattern,'IgnoreCase',true)
TF = 1x4 logical array
1 0 0 1
Отображение имен файлов, заканчивающихся на .gz. Индекс обратно в str использование TF.
str(TF)
ans = 1x2 string
"DATA.TAR.GZ" "tmp.gz"
Создайте вектор символов, содержащий имя файла. Определите, заканчивается ли имя указанными расширениями.
chr = 'MyLatestPaper.docx'chr = 'MyLatestPaper.docx'
TF = endsWith(chr,'docx')TF = logical
1
TF = endsWith(chr,'gz')TF = logical
0
str - Входной текстВходной текст, заданный как строковый массив, символьный вектор или массив ячеек символьных векторов.
pat - Шаблон поискаpattern массив (с R2020b года)Шаблон поиска, указанный как один из следующих:
Строковый массив
Символьный вектор
Массив ячеек символьных векторов
pattern массив (с R2020b года)
Примечания и ограничения по использованию:
Объекты массива не поддерживаются.
Дополнительные сведения см. в разделе Массивы Tall.
Примечания и ограничения по использованию:
str и pat должен быть строковым скаляром, символьным вектором или массивом ячеек, содержащим не более одного символьного вектора.
Примечания и ограничения по использованию:
pat должен быть строковым массивом, символьным вектором или массивом ячеек символьных векторов.
Дополнительные сведения см. в разделе Запуск функций MATLAB с распределенными массивами (панель инструментов параллельных вычислений).
contains | count | extract | lettersPattern | matches | pattern | replace | split | startsWith
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.