0%

Check a string is a number or not by Python

緣由

就是需要判斷某字串是否是數字,一開始用了 isnumeric() 發現中招了,因為國字 “五” 也被判斷成數字,想要來解決一下這問題

過程

一查之下才發現 python 這個內建也太強大,以下是網路查詢到的解釋:
isnumeric() 方法檢測字符串是否只由數字組成,數字可以是: Unicode 數字,全角數字(雙字節),羅馬數字,漢字數字。
指數類似 ² 與分數類似 ½ 也屬於數字。

解決

實際上應該使用 string.isdigit() 可以用來檢查所有字元是否都是數字的情況
string 底下還有其他的 function 可以利用也順便列一下
string.isalnum() 所有字元都是數字或者字母
string.isalpha() 所有字元都是字母
string.isspace() 所有字元都是空白字元、t、n、r

string.islower() 所有字元都是小寫
string.isupper() 所有字元都是大寫
string.istitle() 所有單詞都是首字母大寫,像標題
string.isspace() 所有字元都是空白字符、\t、\n、\r

另外 isdecimal() 是用來判斷是否是十進位的數字