Keep the relevant part of a cell in a new field
Extract Text from CSV Columns reads a selected field and copies a specified substring into a new destination. An order note might contain an identifier inside brackets; a product description might contain a size between markers; a path might contain the prefix or suffix needed for another system. The source column is always retained in this tool. That makes it possible to judge the extracted text against the original wording before using it downstream.
Extraction differs from splitting a whole field into every component. It identifies only the part defined by your rule. It also differs from find and replace, which changes matching text within a field. Literal markers provide a transparent boundary without requiring a regular expression. The tool does not infer business meaning, recognize every possible number in a sentence, or determine that a particular token must be an order number merely because it looks numeric.
Import and choose the extraction method
Choose files, use Paste a table, or continue from an applied workflow result. Confirm file parsing lets you review UTF-8 CSV or TSV as parsed cells before extraction. Select Parse and preview, inspect headers and quoted multiline content, then Confirm import. Logical record locations refer to parsed records rather than physical text lines. A note containing a quoted newline remains a single cell, and extraction can operate across that cell's complete text.
Choose Source column first. Extraction method then controls which settings are relevant. First characters copies the requested number of display characters from the beginning. Last characters copies that many from the end. Before marker and After marker use one literal boundary. Between markers uses a left and right boundary and returns the text between them. Include boundary markers is off by default; enabling it includes the matched boundary text in the extracted value.
Character-based methods count complete display characters, including combined accents and joined emoji. They do not cut a UTF-8 byte sequence, split a surrogate pair, or separate the components of a family emoji. A request longer than a nonempty value returns the available text. Empty source text has no extracted match. This character convention is shared with fixed-position splitting, so those two operations can be combined without switching between incompatible position systems.
Marker matching is literal and explicit
A marker can be one character or a longer string. Square brackets, parentheses, dots, and other punctuation are treated as ordinary text rather than regular-expression syntax. A left marker must not be empty. Between markers also requires a right marker. Ignore case when matching is an explicit option; it does not lowercase the extracted output or alter the source. The actual spelling and case from the original cell remain in the result.
Between markers scans from left to right and consumes nonoverlapping pairs. For [A][B], the first match is A and the second is B. A missing closing marker produces an incomplete-match report rather than treating the remainder of the cell as an implied ending. Nested boundary structures are blocked as ambiguous, because this version does not parse balanced nested languages. Clean up or otherwise disambiguate such a source before applying a literal extraction rule.
Before marker returns the prefix ending at the chosen marker, and After marker returns the suffix starting after it. When All is selected, each occurrence produces its own prefix or suffix. These results can overlap in their source text. For example, prefixes before successive separators grow longer; they are not the independent fragments produced by column splitting. Use the splitting tool when you want each segment between a series of separators rather than prefixes or suffixes.
First, last, and all matches
Match occurrences defaults to First. Last selects the final complete match found by the configured method. All retains every complete match in its stable source order. The summary counts source records with zero, one, or multiple matches before that selection, so a record can be reported as having multiple matches even when only its first one is output. This helps reveal that a seemingly simple extraction rule is choosing among several available values.
For All, Multiple match output can create Columns or Rows. With columns, supply one destination name per line and enough names for the greatest match count across the full source. A record with fewer matches is padded with empty output fields. A record with more matches blocks the run rather than losing its extra content. First and Last use the first configured destination name. Every destination name must be distinct from other new and existing names.
Rows creates one record per selected match and repeats the other source fields. A source without a complete match retains one empty output record, so it does not silently vanish from the business dataset. Each expanded record carries source provenance. Repeated numeric context should not be summed as newly created amounts, just as with ordinary item expansion. The record estimate and mapping report are checked against the current size guards before a full result is built.
Work through normal, multiple, and incomplete notes
A note reading 订单[ABC-001]已发货 yields ABC-001 with the default bracket markers and First. The original note remains in the table beside the extracted field. A leading-zero identifier inside brackets, such as [00123], remains the string 00123. No numeric conversion occurs. Enabling Include boundary markers would instead return [ABC-001], which may be useful for an exact textual comparison but is a different destination format.
A note reading [A][B] yields A under First and B under Last. Under All with two destination names it yields A and B in separate columns. Under All with Rows it yields two records with the same original note. The Source mapping report records the match ordinal and one-based start and end display-character positions. The highlighted-match view marks the extracted ranges in the original text for the first twenty mapped matches.
A note reading 订单[ABC has an opening marker but no closing marker. Its extraction remains empty and it appears in Incomplete matches as well as Unmatched records. Those reports can overlap because incomplete text may also have zero complete matches. If a note contains one complete pair followed by an incomplete pair, the complete result is retained while the incomplete condition is still reported. Treat a report as an invitation to inspect the source, not proof that the original note is invalid for every purpose.
Review before making extraction part of a workflow
Preview sample and estimate shows an early subset and estimates expansion where appropriate. It does not prove that later notes have enough destinations or well-formed markers. Run and review checks the full table. Inspect zero, single, multiple, and incomplete counts with their records and mapping. A rule that yields no matches can be a valid outcome, especially when only some notes are expected to contain the marker. Check exact punctuation and case before assuming the tool failed.
Apply to workflow makes the extracted field available to concatenation, filtering, or column mapping. Save rules stores marker text, field bindings, occurrence selection, and destinations. Such rules can contain sensitive fixed strings, so review them before sharing. New files must have a compatible structure before saved rules load. Source text is preserved across tool and interface-language switches, and changing a marker marks the old result stale until another full run completes.
Export text safely and understand the limits
Export new copy can save the complete result, unmatched records, incomplete matches, or source mapping. CSV and TSV serialization handles quotes and embedded newlines, and verification parses the export again before download. Formula-prefix protection is explicit and reports its changes. If an extracted identifier begins with a plus or minus, inspect the protection effect instead of assuming the text is untouched. A target spreadsheet can still infer numeric types on opening; import identifiers as text when their exact presentation matters.
Field length, result size, report size, and processing time are guarded. A large number of matches can exhaust the mapping budget even when the main table has relatively few records. Reduce the scope or choose a single occurrence when that accurately describes the task. Cancel task stops the worker without replacing the latest valid workflow data. No nested parsing, arbitrary regular expressions, semantic extraction, or workbook formula execution is provided. Refreshing or closing the page clears the session, so export needed evidence and rules before leaving.
Frequently asked questions
How can I extract the text between two delimiters?
Choose the source column and enter the opening and closing literal markers. Decide which supported occurrence to extract, then inspect records with no match or an incomplete pair. The tool follows the marker rule you provide; it is not a general parser for nested markup, programming languages, or every possible regular expression.
What happens when a closing bracket is missing?
The unfinished pair is reported as incomplete and is not extracted through the end of the cell. Any separate complete pairs can still produce matches.
How do I extract every bracketed value?
Choose All and then Columns or Rows. For columns, supply enough destination names for every source record; overflow blocks rather than dropping a later match.
Does zero matches mean the source is wrong?
No. It means the configured method found no complete target. Check the selected field, punctuation, case setting, and whether that kind of record was expected to contain the marker.
Can I use a regular expression or nested parser?
This tool uses literal markers and display-character counts. Nested pairs are blocked as ambiguous. Use a different, explicitly reviewed approach if the source requires a full grammar.