如何用公式判断Excel单元格中的字符串是英文字母?

如何用公式判断Excel单元格中的字符串是英文字母?,第1张

你这个难度确实太高了,不自定义函数真没办法,下面出两个馊主意:
一、替换所有字母以后,看是否为空,比如判断A1的公式为:
=""=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
UPPER(A1),"A",""),"B",""),"C",""),"D",""),"E","")

二、替换所有特殊字符以后,看是否和原来相同,比如判断A1的公式为:
=A1=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
UPPER(A1),"0",""),"1",""),"2",""),"3",""),"4","")

ascill字母表:a-z:97-122A-Z:65-900-9:48-57代码如下:可以循环判断是字母的ascil,输入0退出 #include int main() { char hello; printf("请输入字符,输入零退出\n"); while(1) {scanf("%c",&hello); if((hello>=65)&&(hello=97)&&(hello<=122))) { printf("%c的ascil为:%d\n",hello,hello); } if(hello=='0') { break; } } }运行结果如下:请输入字符,输入零退出ff的ascil为:102aa的ascil为:97cc的ascil为:99gg的ascil为:103AA的ascil为:65FF的ascil为:70CC的ascil为:670--------------------------------Process exited after 1481 seconds with return value 0请按任意键继续

常见的就是用strlen()和mb_strlen()函数
strlen($str); 中文utf8占3个字符
mb_strlen($str,'utf8'); 中文utf8占1个字符
可以根据strlen()和mb_strlen()返回结果,两者比较判断是汉字、英文还是中英混合
strlen() 等于 mb_strlen() 全英
strlen() 对 mb_strlen() 取余为0 全汉
需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在phpini中加载了php_mbstringdll,即确保“extension=php_mbstringdll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。

判断是否为英文的话很简单,遍历该字符串中的每一个字符,检测字符是否为a-z或A-Z,如果在自然是就英文了,如果不在那肯定就不是英文了。若想判断汉字的话,只以判断;字符是否在范围4E009FFF内。

遍历你要判断的字符串str,用strcharCodeAt(下标),获得每个字符的asc码,然后对照asc码表来判断其所属类型的。
或者用正则,/^[a-zA-Z]$/test()括号里是被检测的字符串,这个正则检测是否都为英文
/^[0-9]$/检测是否为数字

// 判断一个字符是否是中文
public static boolean isChinese(char c) {
return c >= 0x4E00 && c <= 0x9FA5;// 根据字节码判断
}
// 判断一个字符串是否含有中文
public static boolean isChinese(String str) {
if (str == null) return false;
for (char c : strtoCharArray()) {
if (isChinese(c)) return true;// 有一个中文字符就返回
}
return false;
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12943684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存