1# default separator (whitespace) 2print("a b".rsplit()) 3#print(" a b ".rsplit(None)) 4#print(" a b ".rsplit(None, 1)) 5#print(" a b ".rsplit(None, 2)) 6#print(" a b c ".rsplit(None, 1)) 7#print(" a b c ".rsplit(None, 0)) 8#print(" a b c ".rsplit(None, -1)) 9 10# empty separator should fail (this actually delegates to .split()) 11try: 12 "abc".rsplit('') 13except ValueError: 14 print("ValueError") 15 16# empty separator should fail (error handled in .rsplit()) 17try: 18 'a a a a'.rsplit('', 5) 19except ValueError: 20 print('ValueError') 21 22# bad separator type 23try: 24 'a a a a'.rsplit(1) 25except TypeError: 26 print('TypeError') 27 28# non-empty separator 29print("abc".rsplit("a")) 30print("abc".rsplit("b")) 31print("abc".rsplit("c")) 32print("abc".rsplit("z")) 33print("abc".rsplit("ab")) 34print("abc".rsplit("bc")) 35print("abc".rsplit("abc")) 36print("abc".rsplit("abcd")) 37print("abcabc".rsplit("bc")) 38print("abcabc".rsplit("bc", 0)) 39print("abcabc".rsplit("bc", 1)) 40print("abcabc".rsplit("bc", 2)) 41 42print("10/11/12".rsplit("/", 1)) 43print("10/11/12".rsplit("/", 2)) 44print("10/11/12".rsplit("/", 3)) 45print("10/11/12".rsplit("/", 4)) 46print("10/11/12".rsplit("/", 5)) 47 48print("/*10/*11/*12/*".rsplit("/*", 1)) 49print("/*10/*11/*12/*".rsplit("/*", 2)) 50print("/*10/*11/*12/*".rsplit("/*", 3)) 51print("/*10/*11/*12/*".rsplit("/*", 4)) 52print("/*10/*11/*12/*".rsplit("/*", 5)) 53 54print(b"abcabc".rsplit(b"bc", 2)) 55 56# negative "maxsplit" should delegate to .split() 57print('abaca'.rsplit('a', -1)) 58print('abaca'.rsplit('a', -2)) 59