重写java.lang.String IndexOf()方法,实现对字符串以ASCII规则截取
/**
* 根据元数据和目标ascii位数截取字符串,失败返回-1
* @param sourceStr 元数据字符串
* @param endIndex 截取到第几位
* @return 结果字符串
*/
public static String indexOf(String sourceStr,int endIndex){
int length = ;
StringBuilder result = new StringBuilder();
List<String> resultList = new ArrayList<String>();
for(int i = ; i < sourceStr.length(); i++){
int ascii = Character.codePointAt(sourceStr,i);
if(ascii >= && ascii <=){
length++;
resultList.add(String.valueOf(ascii));
}else{
length+=;
resultList.add(String.valueOf(ascii));
}
if(length>){
if((length==sourceStr.length() && length <= endIndex) || length == endIndex || length == endIndex-){
for (String string : resultList) {
result.append(asciiToString(string));
}
return result.toString();
}
}
}
//return String.valueOf("-1");
/**
* 根据业务要求,如果传进来的参数为空值的时候默认返回空字符串
*/
return "";
} /**
* 将ascii码转换为utf-8
* @param value ascii编码 多个以,号分割
* @return 结果字符串
*/
public static String asciiToString(String value) {
StringBuffer sbu = new StringBuffer();
String[] chars = value.split(",");
for (int i = ; i < chars.length; i++) {
sbu.append((char) Integer.parseInt(chars[i]));
}
return sbu.toString();
}
重写java.lang.String IndexOf()方法,实现对字符串以ASCII规则截取的更多相关文章
- java.lang.String.indexOf()用法
java.lang.String.indexOf(char ch) 方法返回字符ch在指定字符串中第一次出现的下标索引位置 如果字符ch在指定的字符串中找不到,则返回-1 示例: import jav ...
- There is no getter for property named 'XXX' in 'class java.lang.String'解决方法
<select id="ProjectHomePage" parameterType="string" resultType="java.uti ...
- java.lang.String.regionMatches方法使用
regionMatches(boolean ignoreCase,int toffset,String other,int ooffset,int len): regionMatches(int to ...
- java.math.BigDecimal cannot be cast to java.lang.String解决方法
从mysql数据库里取decimal(18,2)封装到Map<String,String>中 BigDecimal b = new BigDecimal(resultMap.get(&qu ...
- java.lang.string split 以点分割字符串无法正常拆分字符串
//错误的做法String ip="192.168.11.23"; String[] spstr_IP=ip.split(".");//这种方式无法拆分在ip字 ...
- java.lang.String.getBytes(String charsetName)方法实例
java.lang.String.getBytes(String charsetName) 方法编码将此String使用指定的字符集的字节序列,并将结果存储到一个新的字节数组. 声明 以下是java. ...
- 数据转换bug花了半天时间 Java.math.BigDecimal cannot be cast to java.lang.String
从数据库取出一个 Count函数 统计的值 在代码中要转成Integer类型的时候 Integer.parseInt((String)map.get("ID_")) 报了一下错误: ...
- mybatis之org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'time' in 'class java.lang.String'
mybatis接口 List<String> getUsedCate(String time); 配置文件 <select id="getUsedCate" pa ...
- java.lang.String 类的所有方法
java.lang.String 类的所有方法 方法摘要 char charAt(int index) 返回指定索引处的 char 值. int codePointAt(int index) 返回指定 ...
随机推荐
- Windows server 2003 + IIS6 搭建Asp.net MVC执行环境
安装.Net Framework4.0. 下载地址: http://www.microsoft.com/zh-cn/download/details.aspx?id=17718 安装WindowsS ...
- 原生js 平滑滚动到页面的某个位置
window.scrollTo() 语法1: window.scrollTo(x-coord,y-coord) x-coord 是文档中的横轴坐标. y-coord 是文档中的纵轴坐标. 例子: w ...
- Android不刷机下的app2sd方法(dex cache占空间解决篇)
抱着5年的HTC G7这个古董,一直没有想法去换换. 近期微信.支付宝什么的apk应用都開始走程序巨型化,一次性就来个50MB的空间占用,让还是Android 2.2的手机怎样吃的消? 看看100多M ...
- 在ubuntu18.0下安装qt4.7以及qt-creator安装过程中遇到的坑
最近的嵌入式Linux系统上要做课程设计= =要用贼老贼老的qt4.7,配环境踩坑都费了我1天时间.....所以记录下来,希望能给和我遇到相同问题的朋友一点帮助 apt-get install g++ ...
- XMU 1607 nc与点对距离 【线段树】
1607: nc与点对距离 Time Limit: 5000 MS Memory Limit: 512 MBSubmit: 60 Solved: 8[Submit][Status][Web Boa ...
- c# 字节高低位
byte n = br.ReadByte(); ; // 高位 var l = n & 0x0f; // 低位
- CentOS 7.2 源码安装Python3.6
1.环境 安装CentOS 7.2最小系统(CentOS-7-x86_64-Minimal-1511.iso) 2.需求 Python-3.6.4.tar.xz(官网下载) GCC(yum安装) 一堆 ...
- ACTION中获得数据的几种方式
1.第一种是通过公司封装的方法. 2.第二种:是通过IF方法判断 3.第三种是通过:set/get获得
- 【idea】idea快捷键
Alt+回车 导入包,自动修正 alt+shift+↑ 向上sout输出 psvm主函数 fori for Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代 ...
- C# ref和out总结
C# 中ref 与 out 总结 参数的传递一般分为两种:一种是“值传递”即:传递实参的拷贝,既然是拷贝那么在函数中对这个形参所作的任何动作都不会反映到原来的实参中.另外一种是“引用传递”即:传递 ...