一句话判断字符串中是不是有汉字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一句话判断字符串中是不是有汉字相关的知识,希望对你有一定的参考价值。

参考技术A 1、用ASCII码判断

在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,具体代码如下:

string text = "是不是汉字,ABC,柯乐义";
for (int i = 0; i < text.Length; i++)

if ((int)text[i] > 127)

Console.WriteLine("是汉字");
else
Console.WriteLine("不是汉字");


2、用汉字的 UNICODE 编码范围判断

汉字的 UNICODE 编码范围是4e00-9fbb,具体代码如下:

string text = "是不是汉字,ABC,keleyi.com";
char[] c = text.ToCharArray();
for (int i = 0; i < c.Length;i++)

if (c[i] >= 0x4e00 && c[i] <= 0x9fbb)

Console.WriteLine("是汉字");
else
Console.WriteLine("不是汉字");


3、用正则表达式判断

用正则表达式判断也是用汉字的 UNICODE 编码范围,具体代码如下:

string text = "是不是汉字,ABC,keleyi.com";
for (int i = 0; i < text.Length; i++)

if (Regex.IsMatch(text[i].ToString(), @"[\u4e00-\u9fbb]+1quot;))

Console.WriteLine("是汉字");
else
Console.WriteLine("不是汉字");

C语言判断一句中文里是不是包含的有某个汉字或多个汉字

另外在C语言的程序窗口中,输入中文还要慢慢在语言栏纠结一下……咋解决这问题
想要的是哪怕别人乱输入一句话、只要包括“卡”就会输出:什么什么

参考技术A #include <stdio.h>
#include <string.h>
void main()

char str[200]="大卡车",str1[10]="卡";
if(strstr(str,str1)) //比较str是否包含str1
printf("什么什么\n");
参考技术B C语言的ASCII码里不包含汉字啊~~~用搜狗输入法就很好啊,中英文切换按shift切换就OK了追问

额……判断汉字倒是可以……就是想要判断一个汉字的句子里面包含某个字……

参考技术C if (*str == '你')



这样应该也是可以判断出来的追问

char c[100];
scanf("%s",c);
if(strcmp(c,"卡")==0)

printf("什么什么");

求解……新手一只~~

追答

你要求解什么?程序你自己都写出来了 自己编译运行试试不就行了

追问

= =如果输入的不是只有卡就不行的……我想要的效果是一句话里面只要包括卡这个字、就自动输出什么什么

追答

while(*c != '\0')

if(*c == '卡')

...

c++;

以上是关于一句话判断字符串中是不是有汉字的主要内容,如果未能解决你的问题,请参考以下文章

Js判断字符的种类

mysql 判断字符串中是不是有汉字

c语言中怎样判断一行中是不是有汉字

TI CC2541的整体目标

C#中如何判断一个字符是汉字

js判断是不是包含汉字和字母