中if判斷中文 用LEN函式判斷是否含有漢字

2021-10-16 03:58:04 字數 1462 閱讀 1660

先看這個示例表:

在左側的列裡面,是一列文字內容或數值,右邊列對應標識出來該行左側是否包含漢字。

這個是怎麼快速標記出來的呢?這裡使用的是乙個len函式,巢狀入if語句裡面,得到的結果。

具體的公式如下(假設需要判斷b6格里的內容):

=if(len(b6)=lenb(b6),"無漢字","有漢字")

咱們詳細解釋一下這個公式。

if函式,是三段式的,簡要語法如下:

= if( 判斷句,如真第2句, 如假第3句)

可以簡要記憶為:

如果***為真,則aaa,否則bbb。

咱們今天重點是講解一下if函式裡面巢狀的len函式,這個是實現比較中文字元的關鍵函式。

len函式的本意,是計算一段文字的長度,返回字元長度個數。比如:

= len("abcd") 

結果就是4,說明「abcd」的長度是4個字元

同樣,如果寫為:

= len("中國北京上海」)

返回的結果會是6,說明字元長度是6個字。

而使用lenb函式,則是返回字串實際占用的電腦內部的位元組長度,乙個字母占用1個位元組,而乙個漢字要占用2個位元組。

官方的函式說明文件也明確了這點:

所以,就會有如下區別:

= len("中國北京上海」)   結果等於6

= lenb("中國北京上海」) 結果等於12

而對於非中文的字母和數字,len和lenb的結果會是一樣的:

= len("aabbcc」)   結果等於6

= lenb("aabbcc」) 結果等於6

那麼,就可以利用len和lenb對中英文的不同計算,來判斷乙個內容裡面是否包含中文了。

公式:=len("abc2020")=lenb("abc2020")

的結果會返回true

而公式: =len("abc中國")=lenb("abc中國")

結果會返回false

搞清楚這個原理,就可以使用len和lenb來作為判斷句,巢狀到if函式的裡面,返回對應的標識結果了。

按此原理,公式:

=if(len("abc2020")=lenb("abc2020"),"無漢字","有漢字")

返回的結果是「無漢字」

而=if(len("abc中國")=lenb("abc中國"),"無漢字","有漢字")

返回的結果是「有漢字」。

這次的函式解釋,過程並不複雜,除了熟悉函式功能,另外乙個關鍵點在於對「=」的理解,此處的「=」符號,並不是用作賦值,而是比較符。

oracle 判斷中文函式

create or replace function func chinese p str in varchar2,輸入的字串 p code in varchar2,dump 字串 p chinese in pls integer 1,提取漢字,非1,提取非漢字 return varchar2 as...

用函式方法判斷閏年!!

1.判斷輸入整數是否是閏年的條件 1 該整數能被4整除但不能被100整除。2 該整數能被400整除。2.程式設計思想 1 用自定義函式判斷輸入的整數是否滿足判斷條件,然後將判斷結果 傳送到主函式中。2 用主函式輸出判斷結果。include intrun year int sun end of if ...

判斷大小寫 python用函式怎麼判斷大小寫

python提供了isupper islower istitle 方法用來判斷字串的大小寫,具體例項如下 例如 str 1 hello python 全大寫 str 2 hello python 大小寫混合 str 3 hello python 單詞首字母大寫 str 4 hello python ...