DEV Community

Super Kai (Kazuya Ito)
Super Kai (Kazuya Ito)

Posted on

String in Python (14)

Buy Me a Coffee

*Memos:


isdecimal() < isdigit() < isnumeric(). *True is returned for more numeric strings as going from the left to the right.


isdecimal() can check if a string only has decimal characters and isn't empty as shown below. *It has no arguments:

print('12345'.isdecimal())     # Lowercase Arabic Numeral
print('12345'.isdecimal()) # Uppercase Arabic Numeral
print('١٢٣٤٥'.isdecimal())     # 12345 (Eastern Arabic Numeral)
# True

print('¹²³⁴⁵'.isdecimal())     # 12345 (Superscript Arabic Numeral)
print('₁₂₃₄₅'.isdecimal())     # 12345 (Subscript Arabic Numeral)
print(''.isdecimal())        # 12 (Lowercase Roman Numeral)
print(''.isdecimal())       # 12 (Uppercase Roman Numeral)
print('十二'.isdecimal())      # 12 (Japanese Kanji Numeral)
print('壱弐'.isdecimal())      # 12 (Japanese Kanji Numeral)
print('-12345'.isdecimal())
print('1 2 3 4 5'.isdecimal()) # With spaces
print('1.2345'.isdecimal())
print('1,2345'.isdecimal())
print('1.23+4.5j'.isdecimal())
print('xii'.isdecimal())       # 12 (Lowercase Alphabet)
print('XII'.isdecimal())       # 12 (Uppercase Alphabet)
print(''.isdecimal())
# False

# Extra
print('①②③④⑤'.isdecimal())
print('⓵⓶⓷⓸⓹'.isdecimal())
print('❶❷❸❹❺'.isdecimal())
print('➊➋➌➍➎'.isdecimal())
print('⑴⑵⑶⑷⑸'.isdecimal())
print('⒈⒉⒊⒋⒌'.isdecimal())
print('1⃣2⃣3⃣4⃣5⃣'.isdecimal())
# False
Enter fullscreen mode Exit fullscreen mode

isdigit() can check if a string only has digital characters and isn't empty as shown below. *It has no arguments:

print('12345'.isdigit())     # Lowercase Arabic Numeral
print('12345'.isdigit()) # Uppercase Arabic Numeral
print('١٢٣٤٥'.isdigit())     # 12345 (Eastern Arabic Numeral)
print('¹²³⁴⁵'.isdigit())     # 12345 (Superscript Arabic Numeral)
print('₁₂₃₄₅'.isdigit())     # 12345 (Subscript Arabic Numeral)
# True

print(''.isdigit())        # 12 (Lowercase Roman Numeral)
print(''.isdigit())       # 12 (Uppercase Roman Numeral)
print('十二'.isdigit())      # 12 (Japanese Kanji Numeral)
print('壱弐'.isdigit())      # 12 (Japanese Kanji Numeral)
print('-12345'.isdigit())
print('1 2 3 4 5'.isdigit()) # With spaces
print('1.2345'.isdigit())
print('1,2345'.isdigit())
print('1.23+4.5j'.isdigit())
print('xii'.isdigit())       # 12 (Lowercase Alphabet)
print('XII'.isdigit())       # 12 (Uppercase Alphabet)
print(''.isdigit())
# False

# Extra
print('①②③④⑤'.isdigit())
print('⓵⓶⓷⓸⓹'.isdigit())
print('❶❷❸❹❺'.isdigit())
print('➊➋➌➍➎'.isdigit())
print('⑴⑵⑶⑷⑸'.isdigit())
print('⒈⒉⒊⒋⒌'.isdigit())
# True

print('1⃣2⃣3⃣4⃣5⃣'.isdigit())
# False
Enter fullscreen mode Exit fullscreen mode

isnumeric() can check if a string only has numeric characters and isn't empty as shown below. *It has no arguments:

print('12345'.isnumeric())     # Lowercase Arabic Numeral
print('12345'.isnumeric()) # Uppercase Arabic Numeral
print('١٢٣٤٥'.isnumeric())     # 12345 (Eastern Arabic Numeral)
print('¹²³⁴⁵'.isnumeric())     # 12345 (Superscript Arabic Numeral)
print('₁₂₃₄₅'.isnumeric())     # 12345 (Subscript Arabic Numeral)
print(''.isnumeric())        # 12 (Lowercase Roman Numeral)
print(''.isnumeric())       # 12 (Uppercase Roman Numeral)
print('十二'.isnumeric())      # 12 (Japanese Kanji Numeral)
print('壱弐'.isnumeric())      # 12 (Japanese Kanji Numeral)
# True

print('-12345'.isnumeric())
print('1 2 3 4 5'.isnumeric()) # With spaces
print('1.2345'.isnumeric())
print('1,2345'.isnumeric())
print('1.23+4.5j'.isnumeric())
print('xii'.isnumeric())       # 12 (Lowercase Alphabet)
print('XII'.isnumeric())       # 12 (Uppercase Alphabet)
print(''.isnumeric())
# False

# Extra
print('①②③④⑤'.isnumeric())
print('⓵⓶⓷⓸⓹'.isnumeric())
print('❶❷❸❹❺'.isnumeric())
print('➊➋➌➍➎'.isnumeric())
print('⑴⑵⑶⑷⑸'.isnumeric())
print('⒈⒉⒊⒋⒌'.isnumeric())
# True

print('1⃣2⃣3⃣4⃣5⃣'.isnumeric())
# False
Enter fullscreen mode Exit fullscreen mode

Top comments (0)