Functions for breaking strings into parts and forming new strings using tuples and lists
Contents
- 1. Function str.join(). Collect a string from the list
- 2. Function str.partition(). Break a string into a tuple starting at the beginning of a string
- 3. Function str.rpartition(). Split a string into a tuple starting at the end of a string
- 4. Function str.rsplit(). Generate a word list based on a separator character
- 5. Function str.split(). Separate a string by a delimiter character
- 6. Function str.splitlines(). Get a list of strings based on a string that contains strings separators
- Related topics
Search other websites:
1. Function str.join(). Collect a string from the list
The str.join() function returns a string, which is the union of strings in an iterated object. If the iterated object has non-string values, the function will throw a TypeError exception.
According to the Python documentation, using a function has the following form:
s1 = s2.join(iterable)
where
- s1 – a string that is created as a result of combining the strings of an iterable object;
- s2 – delimiter string.
Example.
# Function str.join() - collect string from a list # The list of strings lst = ['abc', 'def', 'ghi'] s1 = '' s2 = s1.join(lst) # s2 = 'abcdefghi' # The list of characters SYMBOLS = list("Hello") # ITEMS = ['H', 'e', 'l', 'l', 'o'] s1 = "" s3 = s1.join(SYMBOLS) # s3 = 'Hello' s4 = str.join(s1, SYMBOLS) # s4 = 'Hello' # Separator - string ' => ' s1 = ' => ' s5 = s1.join(['012', '345', '678']) # s5 = '012 => 345 => 678'
⇑
2. Function str.partition(). Break a string into a tuple starting at the beginning of a string
The str.partition() function splits a string into a tuple of 3 elements based on the specified separator character. Unlike the str.rpartition() function, in this function the string is reviewed from beginning to end.
The general form of using the function is as follows:
t = str.partition(sep)
where
- str – string, which is being considered for splitting;
- t – the resulting tuple consisting of 3 strings. The first string is the part of the string before the sep delimiter. The second string is the sep separator itself. The third string is the part of the string after the sep delimiter;
- sep – character-separator.
If no separator is found, then the function returns a tuple of 3 strings, in which the string itself follows first, then two empty strings.
Example.
# Function str.partition() - splits a string based on a separator character # 1. Case when separator is found s1 = 'abc,def,ghi' s2 = s1.partition(',') # s2 = ('abc', ',', 'def,ghi') s2 = 'abcdef'.partition('d') # s2 = ('abc', 'd', 'ef') s1 = '012+345' s2 = str.partition(s1, '+') # s2 = ('012', '+', '345') # 2. The case where the separator is not found s1 = '12345' s2 = s1.partition('=') # s2 = ('12345', '', '') # 3. The case where there are several separators - the string viewed from the begin s1 = '012+345+65+89' s2 = s1.partition('+') # s2 = ('012', '+', '345+65+89')
⇑
3. Function str.rpartition(). Split a string into a tuple starting at the end of a string
The str.rpartition() function splits the string into a tuple of 3 items based on the specified separator character. Unlike the str.partition() function, in this function the string is reviewed from the end.
The general form of using the function is as follows:
t = str.rpartition(sep)
where
- str – a string that is considered for splittin;
- t – resulting tuple consisting of 3 strings. The first string is the part of the string before the sep delimiter. The second string is the sep separator itself. The third string is the part of the string after the sep delimiter;
- sep – character-separator.
If the separator is not found, then the function returns a tuple of 3 strings, in which the first two strings are empty, the third string is the string itself.
Example.
# Function str.rpartition() - splits a string based on a separator character # 1. The case where the separator is found s1 = 'abc,def,ghi' s2 = s1.rpartition(',') # s2 = ('abc,def', ',', 'ghi') s2 = 'abcdef'.rpartition('d') # s2 = ('abc', 'd', 'ef') s1 = '012+345' s2 = str.rpartition(s1, '+') # s2 = ('012', '+', '345') # 2. The case where the separator is not found s1 = '12345' s2 = s1.rpartition('=') # s2 = ('', '', '12345') # 3. The case when several separators - the string is reviewed from the end s1 = '012+345+65+89' s2 = s1.rpartition('+') # s2 = ('012+345+65', '+', '89')
⇑
4. Function str.rsplit(). Generate a word list based on a separator character
The str.rsplit() function generates a list of words formed from a string based on a delimiter character. The function works the same as the str.split() function only with the difference that the formed words are divided from right to left.
The general form of using the function is as follows:
setStr = str.rsplit(sep = None, maxsplit = -1)
here
- setStr – the resulting list of strings (words) that are formed from the string str;
- str – source string, which is split into many words;
- sep – word separator, which may consist of one or more characters. If the sep separator is specified, then the separators themselves are not grouped together and are considered empty string separators. If you try to split the empty string with the specified separator, then a list is returned containing the empty string [”];
- maxsplit – the maximum number of splits the string str can be split into. For example, if maxsplit = 2, then the list will contain no more than 3 elements (maxsplit + 1 elements). If the maxsplit value is not specified or equal to -1, then the number of partitions is unlimited, in this case all possible string breaks are performed.
Example.
# Function str.rsplit() - splitting a string by a character-separator # 1. Function call without sep and maxsplit parameters s1 = 'a,b,c,d' s2 = s1.rsplit() # s2 = ['a,b,c,d'] - one word, space is taken into account s1 = 'a b c def' s2 = s1.rsplit() # s2 = ['a', 'b', 'c', 'def'] - 4 words, space taken into account s1 = 'abc hello,+ fgh 0123 ' s2 = str.rsplit(s1) # s2 = ['abc', 'hello,+', 'fgh', '0123'] # 2. Function call with sep parameter s1 = 'a,b,c,d' s2 = s1.rsplit(',') # s2 = ['a', 'b', 'c', 'd'], character-separator ',' # character-separator '!=' s2 = 'a!=b!=c!=d+5'.rsplit('!=') # s2 = ['a', 'b', 'c', 'd+5'] # 3. Calling a function with parameters sep, maxsplit # with such a call, the result of the function differs from the result of split() s1 = 'a,b,c,d,e' s2 = s1.split(',', 2) # s2=['a', 'b', 'c,d,e'] - from the beginning to the end s3 = s1.rsplit(',', 2) # s3=['a,b,c', 'd', 'e'] - from end to beginning s1 = 'a+b+c+d' s2 = s1.split('+', 2) # s2 = ['a', 'b', 'c+d'] - from the beginning to the end s3 = s1.rsplit('+', 2) # s3 = ['a+b', 'c', 'd'] - from end to beginning
⇑
5. Function str.split(). Separate a string by a delimiter character
The str.split() function receives a string and returns a list of words formed from this string that are separated (highlighted) by the specified separator character.
According to the Python documentation, the general form of using a function is as follows:
setStr = str.split(sep = None, maxsplit = -1)
here
- setStr – the resulting list of strings (words) formed from the string str;
- str – source string, which is separated into many words;
- sep – word separator, which may consist of one or more characters. If the sep delimiter is specified, then the delimiters themselves are not grouped together and are considered empty string separators. If you try to split an empty string with the specified delimiter, then a list is returned containing the empty string [”];
- maxsplit – the maximum number of breakdowns the string str can be split into. For example, if maxsplit = 2, then the list will contain no more than 3 items (maxsplit + 1 items). If maxsplit is not specified or equal to -1, then the number of breakdowns is unlimited. In this case, all possible string breaks are performed.
Example.
# Function str.split() - splitting a string by a delimiter character # 1. Function call without sep and maxsplit parameters s1 = 'a,b,c,d' s2 = s1.split() # s2 = ['a,b,c,d'] - one word, space is taken into account s1 = 'a b c def' s2 = s1.split() # s2 = ['a', 'b', 'c', 'def'] - 4 words, space taken into account s1 = 'abc hello,+ fgh 0123 ' s2 = str.split(s1) # s2 = s2 = ['abc', 'hello,+', 'fgh', '0123'] # 2. Function call with sep parameter s1 = 'a,b,c,d' s2 = s1.split(',') # s2 = ['a', 'b', 'c', 'd'], character-separator ',' # character-separator '==' s2 = 'a==b==c==d+5'.split('==') # s2 = ['a', 'b', 'c', 'd+5'] # 3. Function call with sep, maxsplit parameters s1 = 'a,b,c,d,e' s2 = s1.split(',', 2) # s2=['a', 'b', 'c,d,e'] - maximum 2 breakdowns (3 words) s1 = 'a+b+++c+def++ghi' s2 = s1.split('+',3) # s2=['a', 'b', '', '+c+def++ghi'] - character '+' replaced by ''
⇑
6. Function str.splitlines(). Get a list of strings based on a string that contains strings separators
The str.splitlines() function forms a list of strings based on a given string in such a way that characters that serve as string separators are taken into account.
According to the Python documentation, the general form of using a function is as follows:
strList = str.splitlines([keepends])
where
- strList – the resulting list of strings divided by string boundaries;
- str – a string containing characters that separate strings. Such characters include, for example, the ‘\n’ character of a new line (see table below);
- keepends – optional parameter that defines the inclusion of separator characters in the resulting string strList. If keepends = True, then delimiter characters are included in the result string.
The characters used to split the string are shown in the table below.
Example.
# Function str.splitlines() # 1. Function call without parameters s1 = 'ab\ncd\ref' s2 = s1.splitlines() # s2 = ['ab', 'cd', 'ef'] s1 = '012\x1d345\x1e6789' s2 = str.splitlines(s1) # s2 = ['012', '345', '6789'] s2 = 'abc\u2028defg'.splitlines() # s2 = ['abc', 'defg'] # 2. Function call with parameter - separator characters included s1 = 'ab\ncd\r\nef' s2 = s1.splitlines(True) # s2 = ['ab\n', 'cd\r\n', 'ef'] s2 = 'abc\u2029def'.splitlines(True) # s2 = ['abc\u2029', 'def'] s2 = '\n\n\r\n'.splitlines(False) # s2 = ['', '', ''] s2 = '\n\n\r\n'.splitlines(True) # s2 = ['\n', '\n', '\r\n']
⇑
Related topics
- Functions for working with string that determine the features of a string
- Functions based on searching and replacing a substring in a string
- Functions defining and processing the beginning and the end of a string
- Formatting styles. String processing functions according to format or encoding rule
- Functions of strings alignment
- Functions that process case-sensitive characters in a string
⇑