最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

Java获取汉字unicode加1的汉字

Java基础 太平洋学习网 浏览 评论

获取汉字的加1位的汉字,可以用于sql语句查询的过程中,用大于或小于号来代替sql的like查询如"xxx%" 这种形式,可以更好的加快sql语句的查询速度,这个文章估计没有人看,小编只是作为自己的笔记存储起来,以备不时之需。

package com.xuanyin.homektv.util;

import java.util.regex.Pattern;


public final class UicodeBackslashU {

   private static final String singlePattern = "[0-9|a-f|A-F]";

   private static final String pattern = singlePattern + singlePattern +
         singlePattern + singlePattern;

   private static String ustartToCn(final String str) {
      StringBuilder sb = new StringBuilder().append("0x")
            .append(str.substring(2, 6));
      Integer codeInteger = Integer.decode(sb.toString());
      int code = codeInteger.intValue();
      char c = (char)code;
      return String.valueOf(c);
   }


   private static boolean isStartWithUnicode(final String str) {
      if (null == str || str.length() == 0) {
         return false;
      }
      if (!str.startsWith("\\u")) {
         return false;
      }

      if (str.length() < 6) {
         return false;
      }
      String content = str.substring(2, 6);

      boolean isMatch = Pattern.matches(pattern, content);
      return isMatch;
   }


   public static String unicodeToCn(final String str) {

      StringBuilder sb = new StringBuilder();

      int length = str.length();
      for (int i = 0; i < length;) {
         String tmpStr = str.substring(i);
         if (isStartWithUnicode(tmpStr)) {
            sb.append(ustartToCn(tmpStr));
            i += 6;
         } else {
            sb.append(str.substring(i, i + 1));
            i++;
         }
      }
      return sb.toString();
   }
   //返回中文最后一位的unicode加一的中文
   public static String cn2cn(String str){
      String str1 = str.substring(str.length()-1);
      String str2 = str.substring(0,str.length()-1);
      char chars = str1.charAt(0);
      char a = 1;
      String     str3 = "\\u" + Integer.toString(chars+a, 16);
      return str2+unicodeToCn(str3);

   }

}

可以这样使用上方代码,如下:

String s = UnicodeNextWordUtils.getNextWord("我");
System.out.println(s);

输出的汉字unicode加一的结果为:戒

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/java/1115.html
"文章很值,打赏犒劳作者一下"
微信号: Javaweb_engineer

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

与本文相关的文章

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)

网友最新评论