JAVA如何按字节截取字符串
这篇文章主要介绍了JAVA如何按字节截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
public class SubStringTest {
@Test
public void test() {
String s = "北京市丰台区东铁营街道政馨园社区1区1号楼1层";
System.out.println(subString(s, 58));
}
public static String subString(String source, int length) {
StringBuffer buffer = new StringBuffer();
char[] chars = source.toCharArray();
char c;
for (int i = 0;; i++) {
if (length <= 0) {
break;
}
c = source.charAt(i);
buffer.append(c);
length -= String.valueOf(c).getBytes().length;
if (i + 1 < chars.length) {
if (String.valueOf(chars[i + 1]).getBytes().length > length) {
break;
};
}
}
return buffer.toString();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
java 字符串截取的实例详解
java 字符串截取的实例详解 题目 在java中,字符串"abcd"与字符串"ab你好"的长度是一样,都是四个字符. 但对应的字节数不同,一个汉字占两个字节. 定义一个方法,按照指定的字节数来取子串. 如:对于"ab你好",如果取三个字节,那么子串就是ab与"你"字的半个,那么半个就要舍弃. 如果取四个字节就是"ab你",取五个字节还是"ab你". 仅考虑GBK和utf-8编码 实例代
-
java 字符串截取的三种方法(推荐)
众所周知,java提供了很多字符串截取的方式.下面就来看看大致有几种. 1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时. String str = "abc,12,3yy98,0"; String[] strs=str.split(","); for(int i=0,len=strs.length;i<len;i++){ System.out.pri
-
Java截取特定两个标记之间的字符串实例
如有一串字符串: <abcd efg>higklmnopq<rstu vwxyz> java代码如下: public class StringTest { public static void main(String[] args) { String str = "<abcd efg>higklmnopq<rstu vwxyz"; System.out.println(str.substring(str.indexOf(">&q
-
java字符串常用操作方法(查找、截取、分割)
如下所示: public class 字符串常用操作 { public static void main(String[] args) { /* * 查找子串 */ String str1="dwqae12232aebdalf"; //查找指定字符第一次出现的位置 int first1=str1.indexOf(97);//参数为字符的ascii码 //查找指定字符串第一次出现的位置 int first2=str1.indexOf("12"); //查找指定字符第一
-
Java使用正则表达式截取重复出现的XML字符串功能示例
本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能.分享给大家供大家参考,具体如下: public static void main(String[] args) throws DocumentException { String s = "<MTCCommand Time=\"2014-03-22\"><Login UserId=\"admin\" UserPasswd=\"123\" />&l
-
java substring 截取字符串的方法
substring(参数)是java截取字符串的一个方法. 它有两种传参的方式: 第一种:public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串,该字符串从指定索引出的字符开始,到此字符串末尾结束. 第二种:public String substring(int beginIndex,int endIndex) 同样返回一个新的字符串,该字符串从指定的beginIndex索引处开始,到指定的endIndex索引值结束. 不包
-
java 实现截取字符串并按字节分别输出实例代码
java 实现截取字符串并按字节分别输出实例代码 前言: 请编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",而不是"我ABC"+"汉"字的半个. 2.解析思想 本题容易产生困惑的是中文字符和英文字符如何处理,在这里需要考虑汉字和英文字符的占用字节
-
JAVA中截取字符串substring用法详解
substring public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串.该子字符串始于指定索引处的字符,一直到此字符串末尾. 例如: "unhappy".substring(2) returns "happy" "Harbison".substring(3) returns "bison" "emptiness".substring
-
java按字节截取带有汉字的字符串的解法(推荐)
由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度必须小与数据库的字节长度,即如果最后一个字符为汉字,那么只能去掉往前截取. /** * 判断传进来的字符串,是否 * 大于指定的字节,如果大于递归调用 * 直到小于指定字节数 ,一定要指定字符编码,因为各个系统字符编码都不一样,字节数也不一样 * @param s * 原始字符串 * @param
-
Java常用字符串工具类 字符串智能截取(3)
前两篇博文简单分享了一下数字工具类,现在说说字符串工具类. 相信大家都自己封装过或者用过guava封装的Strings,但是有没有可以智能截取,比如说"截取整数第二个到倒数第二个"的字符串.你是否还需要自己写str.substring(1,str.length()-2).如果是的话,请继续往下看吧.暂时还未见过可以反向截取字符串的.一般都是substring(str, start, end)或者substring(str, len);而这里的参数都必须是正数,否则就会报错.所以为了改善
随机推荐
- 学习YUI.Ext 第七天--关于View&JSONView
- 微信营销平台系统–刮刮乐的开发
- c#用Treeview实现FolderBrowerDialog 和动态获取系统图标(运用了Win32 dll类库)
- Vue Spa切换页面时更改标题的实例代码
- node.js中的http.response.getHeader方法使用说明
- 搞定windows关机慢 等待时间过长的问题
- iPhone X官方文档的适配学习详解
- mysql 中存在null和空时创建唯一索引的方法
- JSP如何获取客户端真实IP地址
- PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
- SQL Server 数据页缓冲区的内存瓶颈分析
- 更改IE收藏夹、历史记录存放路径的方法
- Android中实现水平滑动(横向滑动)ListView示例
- Android 简单的弹出框(在屏幕中间,传string[],根据内容框框大小自适应)
- Java StackTraceElement实例代码
- 关于vuejs中v-if和v-show的区别及v-show不起作用问题
- 一道题理解Linux中sort命令的多个参数
- webpack4.x打包过程详解
- php+redis实现商城秒杀功能
- Python学习笔记之字符串和字符串方法实例详解
