1. 程式人生 > >python 判斷字串中是否只有中文字元

python 判斷字串中是否只有中文字元

python中的encode和decode:

首先,在python中字串的表示是 用unicode編碼。所以在做編碼轉換時,通常要以unicode作為中間編碼。

decode的作用是將其他編碼的字串轉換成unicode編碼,比如 a.decode('utf-8'),表示將utf-8編碼的字串轉換成unicode編碼

encode的作用是將unicode編碼的字串轉換成其他編碼格式的字串,比如b.encode('utf-8'),表示將unicode編碼格式轉換成utf-8編碼格式的字串

判斷一個字串中是否含有中文字元:

好了,有了以上知識,就可以很容易的解決這個問題了。這是程式碼

複製程式碼
 1 #-*- coding:utf-8 -*-
 2 
 3 import sys
 4 reload(sys)
 5 sys.setdefaultencoding('utf8')
 6 
 7 def check_contain_chinese(check_str):
 8     for ch in check_str.decode('utf-8'):
 9         if u'\u4e00' <= ch <= u'\u9fff':
10             return True
11     return False
12 
13 if __name__ == "
__main__": 14 print check_contain_chinese('中國') 15 print check_contain_chinese('xxx') 16 print check_contain_chinese('xx中國') 17 18 結果: 19 True 20 False 21 True

相關推薦

python 判斷字串是否只有中文字元

python中的encode和decode: 首先,在python中字串的表示是 用unicode編碼。所以在做編碼轉換時,通常要以unicode作為中間編碼。 decode的作用是將其他編碼的字串轉換成unicode編碼,比如 a.decode('utf-8')

利用字元編碼集對中文長度的不同來判斷字串有沒有中文

是這樣的,在日常開發中遇到一個問題:判斷一個字串中是否含有中文。本來是很簡單的一個需求,用正則就搞定了。然而這是一個很老舊的一個系統,有自己的一套開發語言。偏偏不支援正則,這就難住我了。 當時想到一個笨辦法:把三千個常用漢字寫在一個配置檔案中,把要判斷的字串分割為一個個字元,一個個的去配置檔案中找,看能不能

Java判斷一個字串是否包含中文字元工具類

Java判斷一個字串是否有中文一般情況是利用Unicode編碼(CJK統一漢字的編碼區間:0x4e00–0x9fbb)的正則來做判斷,但是其實這個區間來判斷中文不是非常精確,因為有些中文的標點符號比如:,。等等是不能識別的。 以下是比較完善的判斷方法:CharUtil.j

PHP判斷字串是否含有中文

<? $str = "測試中文"; echo $str; echo "<hr>"; //if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情況下使用 //if (preg_match("

PostgreSQL: 如何判斷字串是否包含指定字元

今天有開發人員問到: PostgreSQL 中是否有函式可以判斷一個字串中是否包含指定字元,如果包 含則返回 ture ,否則返回 false,例如,如果字串 'abcde' 中包含 'ab' 則返回 true,於是想了想,共總 結以下三種方法,暫且不考慮效能。 一 方法一: 使用

JS判斷字串是否存在中文

正則表示式: function isChinese(str){ var patrn=/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi; if(!patrn.e

20141015個人日誌(判斷字串是否含有非法字元及非法字串過濾的問題)

NSCharacterSet *errorCharStr = [NSCharacterSet                                                   characterSetWithCharactersInString:@"[email prote

判斷字串是否包含指定字元或特殊字元

Pattern p = Pattern.compile("[@#$%^&*]"); Matcher m = p.matcher(s); boolean match = m.find(); 如果

java 判斷字串是否有重複字元

/** * 判斷字串是否包含重複字元 * @param str * @return */ public static boolean containRepeatChar(String st

java 判斷字串是否有重複字元

import numpy as np def checkDifferent(iniString): # write code here a = np.unique(iniString) if (a == iniString): retu

iOS判斷字串是否有中文及處理方式

//判斷是否有中文 -(BOOL)hasChinese:(NSString *)str { for(int i=0; i< [str length];i++){ int

java判斷字串真實長度(中文2個字元,英文1個字元)的方法

public class Char_cn { public static void main(String[] args) { // TODO Auto-generated method stub String haha = "呵呵呵呵abcd";

java使用Map集合判斷字串字元出現次數

import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.S

python實現從字串找出特定字元的位置以及個數的方法

python實現從字串中找出特定字元的位置以及個數的方法 本文例項主要實現給出任意字串,獲取字串中某字元的位置以及出現的總次數。 實現該功能程式碼的時候可以使用函式enumerate來將字串分離成位置和字元,然後進行比較即可。 具體實現程式碼如下: #!/b

1.實現一個函式,可以左旋字串的k個字元。 2.判斷一個字串是否為另外一個字串旋轉之後的字串

1.實現一個函式,可以左旋字串中的k個字元 ABCD左旋一個字元得到BCDA ABCD左旋兩個字元得到CDAB #include<stdio.h> #include<string.h> void left_move(char*str, int

關於pythoncv帶中文字元的讀寫問題(imwrite儲存失敗)

今天在寫一段資料augment程式的時候,裡面用到了cv2.imwrite這個函式發現雖然沒有報錯,程式也執行完了,但是沒有產生相應的圖片。並且在下一段使用cv2.imread讀取圖片的時候也發現讀進來的顯示為None。這是怎麼回事呢。 後來在通過查詢帖子發現,這個可能是因

python統計字串每個字元出現的次數

1、獲取字串 2、去除字串中的特殊符號 3、轉化為列表 4、插入到字典 程式碼如下 str = 'you can hear the whistle blow a hundred miles' str = str.replace(" ","") #去除空格 str_list1 =

java判斷A字串是否包含B字元

java.lang.String類提供的方法 public boolean contains(CharSequence s) 當且僅當此字串包含指定的 char 值序列時,返回 true。 例

python 替換字串字元

import os import re ls = [] lr = [] r = re.compile(r'\jackliu\\') # path = r"C:\Users\jackliu\Deskt

python一次替換字串的多個字元

先直接上解決方案: 比如下面給出的字串a,有字母、'(單引號)、\n(換行符)、數字、:(冒號)、,(逗號),目標是隻保留字串中的數字和字母,且看我如何操作。 import re a='eew \' eawr,2 fd\n sa:21' b=re.sub(r'[\':\s ,]*', ''