一句话判断字符串中是不是有汉字
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语言的程序窗口中,输入中文还要慢慢在语言栏纠结一下……咋解决这问题
想要的是哪怕别人乱输入一句话、只要包括“卡”就会输出:什么什么
#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++;
以上是关于一句话判断字符串中是不是有汉字的主要内容,如果未能解决你的问题,请参考以下文章