Java has String.split()
, Python has string.split()
, Perl has split
. There is no simple string-splitting method in C++, but there are plenty of ways of doing it. Here are some methods:
- Put it in a
stringstream
and extract the tokens - Put it in a
stringstream
and usegetline()
with a delimiter - Use
string::find
progressively - Use
string::find_first_of
progressively with a number of delimiters - Use
boost::split()
- Use
boost::split_iterator
- Use
boost::tokenizer
- Use
boost::sregex_token_iterator
- Use
pystring::split
- Use my C
split
function
1. Put it in a stringstream
and extract the tokens
If part is larger than the number of string portions, SPLITPART returns an empty string. If delimiter is not found in string, then the returned value contains the contents of the specified part, which might be the entire string or an empty value. In this blog I’m going to show you a super easy and fast method for splitting a part (plastic injection molded part in this case) up into two parts (upper half, lower half). The command we are going to use to do the actual “splitting” is the SPLIT command which makes quick work of this task. But a lot of times getting the curve/surface/etc that you want to use to split/cut the part with.
2. Put it in a stringstream
and use getline()
with a delimiter
3. Use string::find
progressively
4. Use string::find_first_of
progressively with a number of delimiters
5. Use boost::split()
Reference: Function template split
6. Use boost::split_iterator
Reference: Function template make_split_iterator
7. Use Use boost::tokenizer
Reference: Tokenizer Class
8. Use boost::sregex_token_iterator
Reference: regex_token_iterator
9. Use pystring::split()
Reference: pystring/pystring.h
10. Use my C split function
Reference: Split a string in C
An example program
Related
-->Splits a text string into a table of substrings.
Description
The Split function breaks a text string into a table of substrings. Use Split to break up comma delimited lists, dates that use a slash between date parts, and in other situations where a well defined delimiter is used.
A separator string is used to break the text string apart. The separator can be zero, one, or more characters that are matched as a whole in the text string. Using a zero length or blank string results in each character being broken out individually. The matched separator characters are not returned in the result. If no separator match is found then the entire text string is returned as a single result.
Use the Concat function to recombine the string without the separators.
Use the MatchAll function to split a string using a regular expression.
The examples show how Split can be used with the First and Last functions to extract a single delimited substring. The Match function is often a more concise and powerful choice for those familiar with regular expressions.
Syntax
Split( Text, Separator )
- Text - Required. Text to split.
- Separator - Required. Separator to use in splitting the string. Can be zero, one, or more characters.
Split In Past
Examples
Basic usage
Split In Two Parts
Formula | Description | Result |
---|---|---|
Split( 'Apples, Oranges, Bananas', ',' ) | Splits the different fruits apart, based on the comma separator. The split is performed based on only the comma and not the space after it, resulting in a space at the front of ' Oranges' and ' Bananas'. | |
TrimEnds( Split( 'Apples, Oranges, Bananas', ',' ) ) | Same as the previous example, but in this case the space is removed by the TrimEnds function, operating on the single column table that is produced by Split. We could have also used the separator ', ' which includes the space after the comma, but that would not have worked properly if there is no space or there are two spaces. | |
Split( '08/28/17', '/' ) | Splits the date apart, using a forward slash as the separator. |
Split Video In Parts Online
Different delimiters
Formula | Description | Result |
---|---|---|
Split( 'Hello, World', ',' ) | Splits the words apart, using a comma as the separator. The second result starts with a space since this was the character immediately following the comma. | |
Split( 'Hello, World', 'o' ) | Splits the string apart, using the character 'o' as the separator. | |
Split( 'Hello, World', 'l' ) | Splits the string apart, using the single character 'l' as the separator. Since there were no characters between the two l's in Hello, a blank value was returned. | |
Split( 'Hello, World', 'll' ) | Splits the string apart, using the double character 'll' as the separator. | |
Split( 'Hello, World', '%' ) | Splits the string apart, using the percent sign as the separator. Since this separator does not appear in the string, the entire string is returned as one result. | |
Split( 'Hello, World', ' ) | Splits the string apart, using an empty string as the separator (zero characters). This will break the string on each character. |
Substring extraction
Snake Flag Split In Parts
Formula | Description | Result |
---|---|---|
First( Split( Last( Split( 'Bob Jones <bob.jones@contoso.com>', '<' ) ).Result, '>' ) ).Result | Splits the string apart based on an opening delimiter (<) and extracts the string to the right of the delimiter with Last. The formula then splits that result based on the closing delimiter (>) and extracts the string the left of the delimiter with Right. | 'bob.jones@contoso.com' |
Match( 'Bob Jones <bob.jones@contoso.com>', '<(?<email>.+)>' ).email | Performs the same delimiter based extraction as the last example but uses the Match function and a regular expression instead. | 'bob.jones@contoso.com' |
Note
Can you tell us about your documentation language preferences? Take a short survey.
The survey will take about seven minutes. No personal data is collected (privacy statement).