先看這個示例表:
在左側的列裡面,是一列文字內容或數值,右邊列對應標識出來該行左側是否包含漢字。
這個是怎麼快速標記出來的呢?這裡使用的是乙個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 ...