erase - Delete substrings within strings - MATLAB (original) (raw)
Delete substrings within strings
Syntax
Description
newStr = erase([str](#bu7fa8j%5Fsep%5Fbu4l86d-str),[match](#bu7fa8j-match))
deletes all occurrences of match
in str
. Theerase
function returns the remaining text asnewStr
.
If match
is an array, then erase
deletes every occurrence of every element of match
instr
. The str
and match
arguments do not need to be the same size.
Examples
Delete Substrings from String Array
Create a string array and delete substrings from it.
str = ["the quick brown fox jumps"; "over the lazy dog"]
str = 2x1 string "the quick brown fox jumps" "over the lazy dog"
Delete the substring "the "
from str
. The erase
function deletes both instances.
newStr = erase(str,"the ")
newStr = 2x1 string "quick brown fox jumps" "over lazy dog"
Delete multiple substrings from str
.
match = ["the ","quick ","lazy "]; newStr = erase(str,match)
newStr = 2x1 string "brown fox jumps" "over dog"
Delete File Paths Using Pattern
Create a string array of file names, including full paths.
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"
Delete the paths, leaving only file names. To match paths, create a pattern using the wildcardPattern
function that matches all text that includes a final "\"
character. Use that pattern with the erase
function.
match = wildcardPattern + ""
match = pattern Matching:
wildcardPattern + "\"
filenames = erase(str,match)
filenames = 3x1 string "MyReport.docx" "Sample1.csv" "Slides.pptx"
For a list of functions that create pattern objects, see pattern.
Delete Substring from Character Vector
Create a character vector. Delete the substring, ' World'
, including the space character.
newChr = erase(chr,' World')
Input Arguments
str
— Input text
string array | character vector | cell array of character vectors
Input text, specified as a string array, character vector, or cell array of character vectors.
match
— Text to delete
string array | character vector | cell array of character vectors | pattern
array
Text to delete, specified as one of the following:
- String array
- Character vector
- Cell array of character vectors
- pattern array
Tips
- To delete multiple occurrences of a match when the occurrences overlap, use the
strrep
function.erase
only deletes the first occurrence when occurrences overlap.
Extended Capabilities
Tall Arrays
Calculate with arrays that have more rows than fit in memory.
Theerase
function supports tall arrays with the following usage notes and limitations:
str
must be a tall string array or tall cell array of char vectors.
For more information, see Tall Arrays.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
str
andmatch
must be a string scalar, a character vector, or a cell array containing not more than one character vector.
Thread-Based Environment
Run code in the background using MATLAB® backgroundPool
or accelerate code with Parallel Computing Toolbox™ ThreadPool
.
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
Distributed Arrays
Partition large arrays across the combined memory of your cluster using Parallel Computing Toolbox™.
Usage notes and limitations:
str
must be a distributed string array or distributed cell array of character vectors.
For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Version History
Introduced in R2016b