首页 > 其他分享 >全角转半角udf包

全角转半角udf包

时间:2024-12-19 15:55:55浏览次数:3  
标签:全角 Text System 半角 char udf println new out

/*
* Copyright 2023 tu.cn All right reserved. This software is the
* confidential and proprietary information of tu.cn ("Confidential
* Information"). You shall not disclose such Confidential Information and shall
* use it only in accordance with the terms of the license agreement you entered
* into with Tu.cn
*/
package com.audaque.udf;

import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;


/**
* @author DELL
* @date 2023/11/20 - 14:55
*/
public class FullAngleToHalfAngle extends UDF {
public Text evaluate(Text s){
/*如果字段值为null,直接返回空值不做校验*/
if (s == null) {
return null;
}
String str = s.toString();
StringBuffer result = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
/*全角的ascii码范围*/
if ( c >= 65281 && c <= 65374 ){
c = (char) (c-65248);
/*空格的全角转半角需要单独判定*/
}else if (c == 12288){
c = (char) 32;
}
result.append(c);
}
return new Text(result.toString());
}

public static void main(String[] args) {
FullAngleToHalfAngle fa = new FullAngleToHalfAngle();
System.out.println(fa.evaluate(new Text("我我asaddasd54351531312")));
System.out.println("我我asaddasd54351531312");
System.out.println((int)(char) ' ');
System.out.println((int)(char) ' ');
System.out.println(fa.evaluate(new Text("  ")));
System.out.println((char)65280);
System.out.println((char) (65280-65248));
System.out.println((char)65281);
System.out.println((char) (65281-65248));
}
}

标签:全角,Text,System,半角,char,udf,println,new,out
From: https://www.cnblogs.com/tobeeasyman/p/18617392

相关文章

  • 大陆居民身份证18位身份证校验位校验udf关键代码
    packagecom.audaque.udf;importorg.apache.hadoop.hive.ql.exec.UDF;importorg.apache.hadoop.io.Text;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.*;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/***......
  • 组织机构代码校验udf关键代码
    /**Copyright2023tu.cnAllrightreserved.Thissoftwareisthe*confidentialandproprietaryinformationoftu.cn("Confidential*Information").YoushallnotdisclosesuchConfidentialInformationandshall*useitonlyinaccordancewit......
  • 统一社会信用代码校验位校验udf关键代码
    packagecom.audaque.udf;importorg.apache.hadoop.hive.ql.exec.UDF;importorg.apache.hadoop.io.Text;importjava.util.*;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/***<p>社会统一信用代码校验*社会统一信用代码由18位数字和字母组合而成。*......
  • 开发自定义 UDFs 和库
    开发自定义UDFs和库1.创建项目结构使用构建工具设置项目推荐使用SBT或Maven来管理依赖项和构建过程。以下是使用SBT的示例:build.sbt文件配置:name:="CustomUDFLibrary"version:="1.0"scalaVersion:="2.12.15"//根据你的Spark版本选择合适的Sca......
  • 基于 Cloudflare Workers 和 cloudflare-docker-proxy 搭建镜像加速服务
    Docker镜像好用了一段时间之后又不行了,一直刷到文章说Cloudflare可以加速,没实际用过,这次不得不用上了(希望别被滥用导致被封),搜了一下,GitHub上的项目https://github.com/ciiiii/cloudflare-docker-proxy还很符合对我我对加速服务的需求。主要是用的docker和github的image......
  • 记录踩过的坑:腾讯云的域名+家庭公网ip+cloudflare
    首先,我本地局域网ip是可以直接访问我自己的apache+php网页的,一直用腾讯云免费的DNSdnspod,无法实现访问,我猜想是家庭公网ip的缘故,我用的小米路由器,把外部端口80端口转发到个人电脑ip端口80后来我使用了大善人cloudflare的DNS,毕竟可以配置更为丰富。参考了多个网页(下面两......
  • 网站接入Cloudflare无法访问或重定向次数过多解决方法
    最近开始尝试使用 Cloudflare,其主要方面是由于 CloudflareRegistrar 提供的域名注册和续费方面只收注册局成本,而被大家称之为赛博佛祖。像net后缀域名直接相比我西部数码的钻石代理续费价格还便宜十来块,所以子凡我也开始将部分不常用的品牌保护的未备案域名转到了Cloudflar......
  • cloudflare的CND使用,实现ipv4访问ipv6
    1、注册cloudflare,使用国内外邮箱均可,建议使用Edge浏览器,谷歌...2、修改腾讯云或阿里云,域名的DNS服务器。修改为cloudflare的域名服务器阿里云:3、到cloudflare,添加记录。4、获取API令牌。5、到ddns-go配置,让ddns-go定时更改域名ipv6地址。......
  • 不干啥,吐槽一下Cloudflare
    Cloudflare,毫无疑问是非常优秀的云服务提供商。But官方提供的一些优化项,真是很让人摸不着头脑!长话短说,官方提供一种route-matching的功能,根据其介绍可知,当请求URL中含有.html时,CF会自动把后缀去掉,形成只有path的干净模样....然而有的时候,真的是需要保留后缀啊!!!带.html和不带就......
  • 内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)
    内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)-含详细原理配置说明介绍前言远程桌面协议(RDP,RemoteDesktopProtocol)可用于远程桌面连接,Windows系统(家庭版除外)也是支持这种协议的,无需安装额外客户端即可实现类似向日葵、toDesk等的远程桌面访问与控......