RunMat
  • Pricing
RunMat
GitHub
GitHub
DownloadSign InTry in Browser
DesktopRuntimeServer
RunMat

Run math blazing fast

GitHubX (Twitter)LinkedIn

Company

  • About
  • Pricing
  • Contact

Explore

  • RunMat for academia
  • RunMat vs MATLAB Online
  • Benchmarks

Get product updates and release notes from the RunMat team.

© 2026 Dystr · Made withfor the scientific community.

RunMat™ is a registered trademark of Dystr, Inc. MATLAB® is a registered trademark of The MathWorks, Inc. RunMat is not affiliated with, endorsed by, or sponsored by The MathWorks, Inc.

LicensePrivacy
/
See all docs
Builtin Reference
    • append
    • deblank
    • erase
    • eraseBetween
    • erasePunctuation
    • eraseURLs
    • extractAfter
    • extractBefore
    • extractBetween
    • insertAfter
    • insertBefore
    • join
    • lower
    • pad
    • replace
    • replaceBetween
    • reverse
    • split
    • splitlines
    • strcat
    • strip
    • strjoin
    • strjust
    • strrep
    • strsplit
    • strtrim
    • upper

extractBefore — Extract text before a position or boundary.

extractBefore(text, boundary) returns the text before the first matching text/pattern boundary or before a one-based numeric position. The output preserves the text input datatype and shape.

Syntax

s = extractBefore(text, boundary)

Inputs

NameTypeRequiredDefaultDescription
textAnyYes—Input string array, character vector, or cell array of character vectors.
boundaryAnyYes—Text/pattern boundary or positive numeric position, scalar or the same size as text.

Returns

NameTypeDescription
outAnyOutput value.

Errors

IdentifierWhenMessage
RunMat:extractBefore:InvalidInputThe call does not contain exactly one documented text input and one boundary.extractBefore: invalid input
RunMat:extractBefore:InvalidBoundaryA numeric boundary is not a positive integer or a text/pattern boundary is invalid.extractBefore: invalid boundary
RunMat:extractBefore:SizeMismatchA nonscalar boundary does not have the same shape as the text input.extractBefore: boundary size must match text

How extractBefore works

  • Numeric positions are one-based structural controls. Scalar positions expand to every text element; nonscalar positions must have exactly the same shape as the text input.
  • All eight built-in integer classes are read from native storage without floating-point conversion. Single and double positions must be finite positive integer values.
  • String arrays, character vectors, and cell arrays of character vectors preserve their input datatype and shape. Row-wise character matrices and broader cell containers are explicit RunMat extensions.
  • Missing text propagates. A text or pattern boundary that cannot be found is reported as an error by the current RunMat implementation.
  • Integer, logical, complex, and resident numeric values are not accepted as text. Resident numeric positions require the RunMat extension mode and are gathered before host evaluation.

Example

Using extractBefore with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how extractBefore changes the result.

Run a small extractBefore example, explain the result, then change one input and compare the output.

Related Strings functions

Transform

append · deblank · erase · eraseBetween · erasePunctuation · eraseURLs · extractAfter · extractBetween · insertAfter · insertBefore · join · lower · pad · replace · replaceBetween · reverse · split · splitlines · strcat · strip · strjoin · strjust · strrep · strsplit · strtrim · upper

Text Analytics

addDependencyDetails · addEntityDetails · addLemmaDetails · addPartOfSpeechDetails · addSentenceDetails · addTypeDetails · bagOfNgrams · bagOfWords · cosineSimilarity · doc2sequence · encode · extractFileText · extractHTMLText · fastTextWordEmbedding · findElement · getAttribute · htmlTree · ind2word · isVocabularyWord · normalizeWords · readWordEmbedding · removeLongWords · removeShortWords · removeStopWords · removeWords · stopWords · tokenDetails · tokenizedDocument · trainWordEmbedding · vaderSentimentScores · vec2word · word2ind · word2vec · wordEncoding · writeWordEmbedding

Core

blanks · char · compose · convertCharsToStrings · convertContainedStringsToChars · convertStringsToChars · genvarname · int2str · isletter · isspace · isStringScalar · isstrprop · mat2str · native2unicode · newline · num2str · sprintf · sscanf · str2double · str2num · strcmp · strcmpi · string · string.empty · strings · strlength · strncmp · strncmpi · strtok · unicode2native

Search

contains · endsWith · matches · startsWith · strfind

Pattern

digitsPattern · lettersPattern · pattern · regexpPattern · textBoundary · wildcardPattern

Regex

regexp · regexpi · regexprep

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how extractBefore is executed, line by line, in Rust.

  • View the source for extractBefore in Rust on GitHub
  • Learn how the RunMat runtime works
  • Found a bug? Open an issue with a minimal reproduction.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.

Download RunMatOpen Sandbox
On this page
  • Syntax
  • Inputs
  • Returns
  • Errors
  • How extractBefore works
  • Example
  • Using extractBefore with coding agents
  • Related Strings functions
  • Transform
  • Text Analytics
  • Core
  • Search
  • Pattern
  • Regex
  • Open-source implementation
  • About RunMat