qjcpj 发表于 2005-8-10 15:00:00

[求助]判断字符串第一个字符为中英文的问题。

<P>有如下两字符串,第一个字符串的第一个字符为中文“明”,第二个字符串的第一个字符为英文“A”,在lisp中如何判断字符串第一个字符是英文还是中文:</P>
<P>"明经ABC"</P>
<P>"ABC"</P>

yshf 发表于 2005-8-10 16:22:00

(ascii 字符串变量名)&gt;128的是中文字符串,否则是英文字符。

qjcpj 发表于 2005-8-10 22:36:00

谢谢!<BR>还有一个问题,因程序中的字符串由用户输入而具有特殊性,即字符串中的第一个字有可能是中文,也有可能是西文;因中文占两个字节,西文占一个字节,因此使用ascii函数取字符串变量名时,又如何能保证字符串变量名何时取一个字节,何时又取二个字节?

HuaiYu 发表于 2005-8-11 08:29:00

<P>(setq i 1)</P>
<P>(if (&gt; (ascii (substr "明经ABC" i 1)) 128)<BR>&nbsp; (setq i (+ i 2))<BR>&nbsp; (setq i (+ i 1))<BR>)</P>
<P>如果 &gt; 128 那就表示为中文,(+ i 2) 取间隔一个位置</P>
<P>否则表示英文,(+ i 1) 取下一个位置</P>

qjcpj 发表于 2005-8-11 22:46:00

多谢!

chenbh2 发表于 2025-11-5 22:20:32

HuaiYu 发表于 2005-8-11 08:29
(setq i 1)
(if (&gt; (ascii (substr "明经ABC" i 1)) 128)&nbsp; (setq i (+ i 2))&nbsp; (setq i (+ i 1) ...

谢谢!明白了!
页: [1]
查看完整版本: [求助]判断字符串第一个字符为中英文的问题。