重写java.lang.String IndexOf()方法,实现对字符串以ASCII规则截取
2024-08-27 18:14:00
/**
* 根据元数据和目标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();
}
最新文章
- [No000070]Flash与C#通信
- 【JAVA解析XML文件实现CRUD操作】
- HDU 1402 fft 模板题
- Android--获取标题栏,状态栏,屏幕高度
- ScrollView can host only one direct child 解决
- HDU 1166 敌兵布阵(线段树)
- Android中的ContentValues用法
- DVP
- eclipse搭建Log4J日志环境
- CSDN专家吐槽实录
- QML中的ExclusiveGroup
- plist涉及到沙盒的一个问题
- SystemVerilog语言简介(二)
- 中断处理程序不能使用printf的本质
- linux下文件的复制、移动与删除命令为:cp,mv,rm
- javascript ES6 新特性之 Promise,ES7 async / await
- (5)Python字典
- Vue 刷新当前页面,并重新加载页面数据
- Jenkins的安装、启动和配置
- FileZilla_server在Windows和Linnx下的部署安装
热门文章
- CSS制作翻牌特效
- scikit-learn:class and function reference(看看你究竟掌握了多少。。)
- 3.NetDh框架之缓存操作类和二次开发模式简单设计(附源码和示例代码)
- c中常用的关键字static const volatile
- Boost中的Timer的使用——计算时间流逝
- python 获取代码宿主机名 ip
- 通过fsharp 使用Enterprise Library Unity 3 - 三种拦截模式的探索
- js实现加密(?!)
- js的location对象
- Silverlight实用示例 - DataGrid行详细信息的绑定DataGrid.RowDetailsTemplate