利用Java来模仿字符类型识别

ZDNet软件频道 时间:2004-03-29 作者:Builder.com |  我要评论()
本文关键词:javatips
当我们分析字符数据的时候,我们首先要确定被检查的字符是什么类型。比如,当前字符是一个大写字母,一个数字,一个控制字符或者仅仅只是一个字母?
本文译自Builder.com,未经许可请勿转载 当我们分析字符数据的时候,我们首先要确定被检查的字符是什么类型。比如,当前字符是一个大写字母,一个数字,空格,一个控制字符或者仅仅只是一个字母?

   在C和C++中,包括ctype h和可以测试的各种函数可以迅速的给出答案。

在SQL或者PL/SQL中没有直接执行这些测试的;但是,我们可以在PL/SQL中利用java.lang.Character类来模仿一些功能。

你可以利用这些代码来编辑和装载这个类:

javac ctype.java
loadjava -user scott/tiger -oci8 -resolve ctype

Java的 java.lang.Character 类包含了一些测试,这些测试可以为Java中的字符值域任何字符工作。

当Oracle映射SQL数据类型到Java数据类型的时候,它将自动更改数据库字符设置或者改变字符设置到UCS-2中。通过构造已传递值周围的java.lang对象,不同的字符分类函数可以应用。

  为了完成这个功能,定义一个Java包装类,它可以接受一个串,第一个字符并返回静态测试的结果:

   public class ctype
{
    public static int isalnum(String s)
    {
        return Character.isLetterOrDigit(s.charAt(0)) ? 1 : 0;
    }
    public static int isalpha(String s)
    {
        return Character.isLetter(s.charAt(0)) ? 1 : 0;
    }
    public static int iscntrl(String s)
    {
        return Character.isISOControl(s.charAt(0)) ? 1 : 0;
    }
    public static int isdigit(String s)
    {
        return Character.isDigit(s.charAt(0)) ? 1 : 0;
    }
    public static int isspace(String s)
    {
        return Character.isWhitespace(s.charAt(0)) ? 1 : 0;
    }
    public static int islower(String s)
    {
        return Character.isLowerCase(s.charAt(0)) ? 1 : 0;
    }
    public static int isupper(String s)
    {
        return Character.isUpperCase(s.charAt(0)) ? 1 : 0;
    }
}


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134