从字符串中截取等长字节的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 ) + ".." ;
}
相关推荐
-
java 截取字符串(判断汉字)
复制代码 代码如下: /** * 截取字符串 len为字节长度 * @param str * @param len * @return * @throws UnsupportedEncodingException */ public static String getLimitLengthString( String str,int len){ try{ int counterOfDoubleByte = 0; byte[] b = str.getBytes("gb2312"); if
-
java按字节截取带有汉字的字符串的解法(推荐)
由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度必须小与数据库的字节长度,即如果最后一个字符为汉字,那么只能去掉往前截取. /** * 判断传进来的字符串,是否 * 大于指定的字节,如果大于递归调用 * 直到小于指定字节数 ,一定要指定字符编码,因为各个系统字符编码都不一样,字节数也不一样 * @param s * 原始字符串 * @param
-
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 按照字节来截取字符串的代码(不会出现半个汉字)
复制代码 代码如下: /* * Copyright 2012-2013 The Haohui Network Corporation */package com.haohui.common.utils; /** * <pre> * 字符串辅助工具 * </pre> * * @project baidamei * @author cevencheng <cevencheng@gmail.com> * @create 2012-11-30 下午2:42:56 */p
-
Java截取字符串的方法
本文实例讲述了Java截取字符串的方法.分享给大家供大家参考.具体实现方法如下: public static void main(String args[]) { //以该字符第一次出现,开始截取 //String str="abc.def"; //String str="abc.def.sdfsdf.fsdfd.ddddd.ggggg.ttttt"; //String str1=str.substring(str.indexOf(".")+1,
-
java获取文件扩展名的方法小结【正则与字符串截取】
本文实例讲述了java获取文件扩展名的方法.分享给大家供大家参考,具体如下: 问题描述: 有一个String类型:String imageName = "zy.jpg"; 请问我如何截取"."后面的后辍名. 解决方法一:使用正则表达式 package csdnTest; import java.util.regex.*; public class CSDNTest { public static void main(String[] ss) { String s=
-
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 static void main(String[] args) { String str = "20120131:<回家>1你好么" ; System.out.println( subString(str , 10 ) ) ; } public static String subString
-
js如何找出字符串中的最长回文串
本文实例为大家分享了js找出字符串中的最长回文串的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>回文</title> <link rel=&q
-
java如何从不规则的字符串中截取出日期
目录 从不规则的字符串中截取出日期 代码 没有升级的输出结果 将yyyy/MM/dd形式的不规则日期转换成规则形式 代码如下 从不规则的字符串中截取出日期 最近在项目中需要远程调接口,从String字符串中截取出日期,想了好久,最后用java8新特性,解决了,java8,还是比较好用. 代码 获取到的字符串,例如: 焦化化产车间四期出水(测试排口),2019/10/19 10:00:00,pH平均值 超标,值:5.00 炼焦一车间焦炉推焦除尘(测试排口)2019/7/14 14:00:00,二氧
-
Python删除字符串中字符的四种方法示例代码
目录 一.删除字符串两端的一种或多种字符 二.删除字符串中单个固定位置的字符 三.删除字符串中任意位置的一种或多种字符 四.同时删除字符串内的多种不同字符 一.删除字符串两端的一种或多种字符 #strip().lstrip().rstrip()方法:(默认删除空格符) A.list.strip(字符):删除字符串两端的一种或多种字符: 例:删除字符串s两端 a 或 b 或 c 字符: s = 'abbmmmcccbbb' s1 = s.strip('abc') print(s1) #输出:mmm
-
iOS中UILabel实现长按复制功能实例代码
前言 网上有很多种给Label添加长按复制功能的方法,而在 UILabel 上实现长按复制,我用的是 UIMenuController.在 UITextView.UITextField 中,已经自带了这个东西,但是在 UILabel 上需要自定义. 鉴于有的朋友很少接触 UIMenuController,这里先介绍一些基本知识. UIMenuController 可以使用系统自带的方法,也可以自定义. 系统默认支持UITextField.UITextView.UIWebView控件的UIMenu
-
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 的一个子串,它们被字符串
-
Android中截取当前屏幕图片的实例代码
复制代码 代码如下: /** * 获取和保存当前屏幕的截图 */ private void GetandSaveCurrentImage() { //1.构建Bitmap WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); int w = d
-
PHP在字符串中查找指定字符串并删除的代码
$a = "abcababa"; $count=strpos($a,"ab"); $str=substr_replace($a,"",$count,2); 输出结果:cababa 代码虽短,但也算是一个小算法!
-
C#字符串的截取函数用法总结
本文实例总结了C#常用的字符串截取函数用法.分享给大家供大家参考.具体分析如下: 在C#中字符串截取函数包括有substring 函数,Remove 函数,indexOf 函数,它们三个都可以对字符串进行截取操作,下面我们来分别介绍一下. 下面是截取字符串过程中我们必须知道的以下函数:substring 函数.Remove 函数.indexOf函数. substring 函数: 返回第一个参数中从第二个参数指定的位置开始.第三个参数指定的长度的子字符串. 如果未指定第三个参数,将返回从第二个参数
-
Mysql中实现提取字符串中的数字的自定义函数分享
因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代码如下: CREATE FUNCTION GetNum (Varstring varchar(50)) RETURNS varchar(30) BEGIN DECLARE v_length INT DEFAULT 0; DECLARE v_Tmp varchar(50) default ''; se
随机推荐
- JDBC中resutset接口操作实例详解
- Vue组件之全局组件与局部组件的使用详解
- 将字符串小写转大写并延时输出的批处理代码
- ASP.NET 连接ACCESS数据库的简单方法
- Nginx中全局变量整理小结
- IOS UI学习教程之使用代码创建button
- JavaScript分析、压缩工具JavaScript Analyser
- JS模拟按钮点击功能的方法
- php验证session无效的解决方法
- Mac os 解决无法使用localhost连接mysql问题
- ubuntu取消pppoe启动时自动拔号的设置方法
- asp数据库连接函数
- 关于request.getHeader("Referer")的问题探讨
- Shell脚本对比两个文本文件找出不同行的2个方法分享
- 微信小程序 开发MAP(地图)实例详解
- Linux下独立添加PHP扩展模块mbstring的方法
- Android中加入名片扫描功能实例代码
- 使用jquery实现图文切换效果另加特效
- 实现Android 滑动退出Activity的功能
- vue2实现可复用的轮播图carousel组件详解