# SPDX-License-Identifier: MIT
# Independently authored; Python 3.9 string/bytes method semantics.
message = "  café::tea::::🙂  "
clean = message.strip()
print(repr(clean), clean.split("::"), clean.rsplit("::", 1))
print(" | ".join(clean.split("::")))
print(clean.find("tea"), clean.rfind("::"), clean.count("::"))
print(clean.startswith(("x", "café")), clean.endswith(("🙂", "x")))
print(clean.partition("::"), clean.rpartition("::"))
print(repr("é🙂".replace("", "-")), repr(clean.replace("::", "/", 1)))
print("  one\t two  ".split(None, 0), "  one\t two  ".rsplit(None, 0))
packet = b"\x00\xff::a::::b::"
print(packet.split(b"::"), packet.rsplit(b"::", 1))
print(packet.find(255), packet.rfind(0), packet.count(b"::"))
print(repr(packet.strip(b"\x00:")), repr(b"|".join((b"\xff", b"a"))))
print("abc".find("", 4), "abc".count("", 3), "abc".startswith("", 4))
try:
    clean.index("missing")
except ValueError as error:
    print(repr(error))
try:
    packet.split(b"")
except ValueError as error:
    print(repr(error))
