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 функция вместо двойных кавычек.

Вставьте запятую перед каждым пробелом, символом в строке. The 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