python且符號 Python檢測符號及亂碼字元

2021-10-11 02:02:18 字數 1250 閱讀 2057

檢測字串是否包含特殊符號

方案一:通過字元匹配的方式進行判定

def if_contain_symbol(keyword):

symbols = "~!@#$%^&*()_+-*/<>,.\/"

for symbol in symbols:

if symbol in keyword:

return true

else:

return false

方案二:使用正規表示式判斷(經測試\w在包含中文的情況下可用)

import re

def if_contain_symbol(keyword):

if re.search(r"\w", keyword):

return true

else:

return false

檢測字串中是否有亂碼

方案一:對分詞後的分詞率進行統計

從概率層面,正常的文字分詞率(文字長度/分詞後個數)>2,而亂碼字元則接近1。具體**如下:

# -*- encoding:utf-8 -*-

import jieba

def if_contain_chaos(keyword):

str_len = len(keyword)

seg_len = len(jieba.lcut(keyword))

if str_len / seg_len < 2:

return true

else:

return false

方案二:通過是否包含生僻字的方法進行判斷

2023年的gb2312一共收錄了7445個字元,包括6763個漢字和682個其它符號。漢字區的內碼範圍高位元組從b0-f7,低位元組從a1-fe,占用的碼位是72*94=6768。其中有5個空位是d7fa-d7fe。這6763個漢字在unicode中不是連續的,分布在cjk統一漢字字元區(0x4e00-0x9fa5)的20902個漢字中。

對於直接將生僻字定義為非gb2312內字元。由於gb2312的字元不是連續的,所以不能直接使用正規表示式的方式進行限定。而我們的方案是通過將字串的unicode轉化為gb2312來判斷是否含有生僻字。即當轉化發生異常即為包含生僻字。

def if_contain_chaos(keyword):

try:

keyword.encode("gb2312")

except unicodeencodeerror:

return true

return false

python常用符號 python注釋符號

python注釋符號 python中的注釋有多種,有單行注釋,多行注釋,批量注釋,中文注釋也是常用的。python注釋也有自己的規範,在文章中會介紹到。注釋可以起到乙個備註的作用,團隊合作的時候,個人編寫的 經常會被多人呼叫,為了讓別人能更容易理解 的通途,使用注釋是非常有效的。一 python單行...

python程式設計符號大全 python符號大全

2017年12月,雲 社群對外發布,從最開始的技術部落格到現在擁有多個社群產品。未來,我們一起乘風破浪,創造無限可能。python 模組 1模組讓你能夠有邏輯地組織你的python 段。把相關的 分配到乙個 模組裡能讓你的 更好用,更易懂。模組也是python物件,具有隨機的名字屬性用來繫結或引用。...

Python 符號運算

背景介紹 sugar 起初在 multimcu edu 上寫的都是有飛控 嵌入式作業系統 控制演算法類的推文。最近推的 matlab 和 python 似乎與 mcu 不在乙個世界裡,其實不然。機械人身上的 mcu 所跑的程式是有執行控制演算法的,而控制演算法的學習必須有紮實的數學功底。當代學數學除...