Python String split() 方法将字符串中的所有单词拆分,由指定的分隔符分隔。此分隔符是分隔符字符串,可以是逗号、句号、空格字符或用于分隔字符串的任何其他字符。
通常,如果多个分隔符组合在一起,该方法会将其视为空字符串。但是,如果未指定分隔符或 None ,并且字符串由连续的空格组成;它们被视为单个分隔符,如果字符串有前导或尾随空格,则结果在开头或结尾将不包含空字符串。因此,拆分空字符串或仅包含空格且带有 None 分隔符的字符串会导致空字符串。
语法
以下是 Python 字符串 split() 方法的语法 -
str.split(str="", num=string.count(str)).
参数
- sep − 这是任何 delimeter,默认情况下它是 space。
- maxsplit − 这是行数减 1
返回值
此方法返回行列表。
例当我们没有向方法传递任何参数时,默认字符(空格)被视为一个参数。在这种情况下,split() 方法在分隔字符串后返回行列表。
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print(str.split( ))
print(str.split(' ', -1))
当我们运行上述程序时,它会产生以下结果。对于第一种情况,甚至其他分隔符(如行分隔符 (\n))也会被删除。
['Line1-abcdef', '\nLine2-abc', '\nLine4-abcd']
例
众所周知的分隔符作为参数传递给方法,以获取结果值作为分隔的行列表。
在此示例中,我们采用两个字符串作为输入;两者都包含分隔符。我们通过传递所需的分隔符作为参数来对两个字符串调用 split() 方法。
str1 = "abcde, 12345, !@#$%";
str2 = "14<65<189<235<456"
print(str1.split(','))
print()
print(str2.split('<'))
上述程序的输出如下 -
['14', '65', '189', '235', '456']
例
在下面的示例中,我们将使用 split() 方法通过将 dot(.) 作为参数来分隔十进制数的整数和十进制部分。
str = "123.748289";
print("Separating the integer and decimal from the input number:")
print(str.split('.'))
让我们执行上面的程序来获得如下输出 -
['123', '748289']
例
当我们传递 separator 参数时,但 separator 参数在字符串中被组合在一起;该方法将其视为空字符串。
在下面的示例中,我们将创建一个值为 “aaa,,ccc,ddd,eee” 的字符串,并使用逗号 (“,”) 作为参数调用其上的 split() 方法。由于给定的字符串包含组合在一起的逗号;该方法为每个存在的逗号分隔符返回空字符串。
str = "aaa,,ccc,ddd,eee";
print(str.split(','))
上述程序的输出如下所示 -
例
当我们传递 maxsplit 参数时,该方法返回一个行列表,以指定索引分隔。
str = "aaa,bbb,ccc,ddd,eee";
print(str.split(',', 2))
如果我们执行上面的程序,输出为 -