从字符串中截取等长字节的Java代码_java

在页面显示的时候,有时候文字无法显示完全,就只能显示部分文字,但是直接截取就只能截取等长字符串,英文和中文很难处理
所以就写了下面方法,截取等长字符

复制代码 代码如下:

public static void main(String[] args) {

  String str = "20120131:《回家》1你好么" ;

  System.out.println( subString(str , 10 ) ) ;
 }
 public static String subString(String str , int len){
  len *= 2 ;
  byte[]bytes = str.getBytes() ;
  if(bytes.length <= len){
   return str ;
  }

  byte[]newBytes = Arrays.copyOf( bytes, len ) ;
  int count = 0 ;
  for(byte b : newBytes){
   if(b < 0){
    count++;
   }
  }
  if(count % 2 != 0){

   len ++;
   newBytes = Arrays.copyOf( bytes, len ) ;
  }

 
  return new String( newBytes ) + ".." ; 
 }

时间: 2024-10-30 20:17:27

从字符串中截取等长字节的Java代码_java的相关文章

用正则,从指定起始位置,在源字符串之中截取定长字符串

[代码]用正则, 从指定起始位置, 在源字符串之中截取定长字符串(含中文)[第四版] [代码]用正则, 从指定起始位置开始, 在源字符串之中截取一定长度的字符串[第四版] [代码]使用正则表达式, 从指定的起始位置开始, 在源字符串之中截取一定长度的字符串[第四次修正] [代码]使用正则表达式, 从字符串头部开始, 在源字符串之中截取一定字节长度的字符串 [代码]使用正则表达式, 从指定的起始位置开始, 在源字符串之中截取一定长度的字符串 (BTW: 中文编码很复杂也有些不合理的地方 高位是 0

java-求字符串中相同最长的字串

问题描述 求字符串中相同最长的字串 用java程序写 题目:输入一行字母组成的字符串,找出其中出现的相同且 长度最长的字符串,输出它及其首字符的位置. 如yyabrdabjcabreg,则输出为abr,3.异常情况输出-1 解决方案 /** * 思路:"abdab" 拆分情况:1.ab abd abda abdab 2.bd bda bdab 3 da dab 4 ab 5 b * * @param str * @return */ public static String find(

java-怎么从字符串中截取到自己想要的字符?

问题描述 怎么从字符串中截取到自己想要的字符? public static void main(String[] args) { //这是一个字符串 我要截取它的a n String s = "renguanyu"; int x = s.indexOf("a"); System.out.println("开始索引" + x); int y = s.indexOf("n"); System.out.println("结

为什么在ecplise ADT中的src文件里的java代码没有实例化就可以运行?

问题描述 为什么在ecplise ADT中的src文件里的java代码没有实例化就可以运行? 为什么在ecplise ADT中的src文件里的java代码没有实例化就可以运行?,例如onCreate()方法 , 解决方案 因为框架负责了实例化,这些代码只是不是你写的而已. 解决方案二: onCreate是系统自动回调的方法

求在字符串中匹配中文数字组合的java正则表达式

问题描述 求一个在字符串中识别 中文和数字组合的子串 的java方法,如用正则表达式来匹配.如何匹配? 中文和数字组合的子串 子串格式为:1.中文个数 为 3-6个字. 2.数字 可以固定在1-4位, 正则为d{1,4}. 3."号"字如"小镇100号""大街101号" 这种形式 输入为 1个字符串 s="我在小镇100号"; 输出为 result = "小镇100号"; 输入为 1个字符串 s="

Java 中的注解详解及示例代码_java

在Java中,注解(Annotation)引入始于Java5,用来描述Java代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行. 注解可以做什么 Java中的注解通常扮演以下角色 编译器指令 构建时指令 运行时指令 其中 Java内置了三种编译器指令,本文后面部分会重点介绍 Java注解可以应用在构建时,即当你构建你的项目时.构建过程包括生成源码,编译源码,生成xml文件,打包编译的源码和文件到JAR包等.软件的构建通常使用诸如Apache Ant和Mav

java 将byte中的有效长度转换为String的实例代码_java

 一般的我们使用byte接收读取到的数据,若数据没有达到byte定义的大小时,我们直接将byte转换为String则会出现乱码的情况,在这种情况下应该基于read的返回值来转换byte,否则将产生乱码的情况, 下面是一个简单的示例: package com.javaio.myinputstream; public class MyConsole { public static void main(String argv[]) throws Exception { System.out.print

如何从字符串中截取地址信息?

问题描述 最近碰到一个客户的需求,要对录入的信息进行重复性判断.主要针对录入的名称进行判断,需要应用对录入的字段进行识别,筛掉录入信息中的地址信息以及形如股份公司的信息识别出关键字进行重复性判断,应用基于J2EE,BS架构,主要使用java语言.请问是否有可行的方案能实现? 很2逼的需求,搞得人头大啊 解决方案 推荐你看下oracle的全文检索.这里有篇文章跟你的需求相似,可以参考:http://www.iteye.com/topic/1118055解决方案二:AJAX验证啊,去库里模糊查是否有

php中删除字符串中最先出现某个字符的实现代码_php技巧

复制代码 代码如下: $a = "字符串";$c= explode("要删除的文字", $a, 2); $b = $c[0].$c[1]; explode (PHP 3, PHP 4, PHP 5) explode -- 使用一个字符串分割另一个字符串 描述 array explode ( string separator, string string [, int limit] ) 此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串