exponenta event banner

insertBefore

Вставка строк перед указанными подстроками

Описание

пример

newStr = insertBefore(str,pat,newText) вставки newText в str перед подстрокой, указанной pat и возвращает результат как newStr. Если pat происходит несколько раз в str, то insertBefore вставляет текст перед каждым вхождением pat.

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

пример

newStr = insertBefore(str,pos,newText) вставляет текст, указанный newText в str перед положением, указанным pos.

Примеры

свернуть все

Создание массивов строк и вставка текста перед подстроками.

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

str = "bread cheese wine"
str = 
"bread cheese wine"

При использовании R2016b создайте массивы строк с помощью string функция вместо двойных кавычек.

Вставьте запятую перед каждым символом пробела в строке. insertBefore вставляет текст перед каждой соответствующей подстрокой.

newStr = insertBefore(str," ",",")
newStr = 
"bread, cheese, wine"

Вставка подстрок в каждый элемент строкового массива. При указании различных подстрок в качестве позиций они должны содержаться в строковом массиве или массиве ячеек того же размера, что и str.

str = ["The quick fox jumps";"over the dog"]
str = 2x1 string
    "The quick fox jumps"
    "over the dog"

newStr = insertBefore(str,[" fox";" dog"],[" brown";" lazy"])
newStr = 2x1 string
    "The quick brown fox jumps"
    "over the lazy dog"

С R2020b г.

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

str = ["C:\Temp\MyReport.docx";
       "C:\Data\Experiment1\Trial1\Sample1.csv";
       "C:\Temp\Slides.pptx"]
str = 3x1 string
    "C:\Temp\MyReport.docx"
    "C:\Data\Experiment1\Trial1\Sample1.csv"
    "C:\Temp\Slides.pptx"

Вставьте новое имя папки в конец каждого пути непосредственно перед именем файла. Чтобы сопоставить имена файлов, создайте шаблон, соответствующий последнему "\" символ и весь оставшийся текст в конце строки. Используйте wildcardPattern для соответствия всем символам, кроме "\" и textBoundary для соответствия концу строки. Затем позвоните insertBefore для вставки нового имени папки перед соответствующим текстом.

pat = "\" + wildcardPattern("Except","\") + textBoundary
pat = pattern
  Matching:

    "\" + wildcardPattern("Except","\") + textBoundary

filenames = insertBefore(str,pat,"\20200601")
filenames = 3x1 string
    "C:\Temp\20200601\MyReport.docx"
    "C:\Data\Experiment1\Trial1\20200601\Sample1.csv"
    "C:\Temp\20200601\Slides.pptx"

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

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

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

str = "James Maxwell"
str = 
"James Maxwell"

Вставка подстроки перед седьмым символом.

newStr = insertBefore(str,7,"Clerk ")
newStr = 
"James Clerk Maxwell"

Вставка подстрок в каждый элемент строкового массива. При указании различных позиций с числовыми массивами их размер должен совпадать с размером массива входной строки.

str = ["James Maxwell";"Carl Gauss"]
str = 2x1 string
    "James Maxwell"
    "Carl Gauss"

newStr = insertBefore(str,[7;6],["Clerk ";"Friedrich "])
newStr = 2x1 string
    "James Clerk Maxwell"
    "Carl Friedrich Gauss"

Создайте вектор символов и вставьте текст перед указанной позицией.

chr = 'mushrooms and onions'
chr = 
'mushrooms and onions'

Вставить текст перед десятой позицией.

newChr = insertBefore(chr,10,', peppers,')
newChr = 
'mushrooms, peppers, and onions'

Вставка текста перед подстрокой.

newChr = insertBefore(chr,' and',', peppers,')
newChr = 
'mushrooms, peppers, and onions'

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

свернуть все

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

Текст или образец в str , обозначающее конечное положение вставленного текста, указанное как одно из следующих значений:

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

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

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

  • pattern массив (с R2020b года)

Если str является строковым массивом или массивом ячеек символьных векторов, то можно вставить текст в каждый элемент str. Можно указать, что все вставки имеют одинаковый конец или разные концы в каждом элементе str.

  • Чтобы указать тот же конец, укажите pat в виде символьного вектора, строкового скаляра или pattern объект.

  • Чтобы указать разные концы, укажите pat в виде строкового массива, массива ячеек символьных векторов или pattern массив.

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

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

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

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

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

свернуть все

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

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

.
Представлен в R2016b