`
mwei
  • 浏览: 124342 次
  • 性别: Icon_minigender_1
  • 来自: 抽象空间
社区版块
存档分类
最新评论

一种截取字母汉字混合串的方法(String.getBytes)

    博客分类:
  • java
 
阅读更多
	/**
	 * 按字节截取字符串
	 * @param test 截取的目标字符串
	 * @param num 字节长度
	 * @return String 截取后的字符串
	 */
	public static String truncateString(String test,int num){
		if(num<1)
			return "";
		if(num>=test.getBytes().length)
			return test;
		
		String result="";
		byte[] b=test.getBytes();
		int sum=0;//记录前num字节中非字母的个数
		for(int i=0;i<num;i++){
			if(b[i]<65 || b[i]>122)//65对应'A',122对应'z'
				sum++;
		}
		if(sum%2==0)
			result=new String(b,0,num);
                //public String(byte bytes[], int offset, int length);		
		else
			result=new String(b,0,num-1);
		
		return result;
	}


//test
public static void main(String[] args) {
	String test="我llo小李飞asdf";
		
	for(int num=1;num<=test.getBytes().length;num++){
			System.out.println("result_"+num+"="+truncateString(test,num));
	}

}


控制台输出:
result_1=
result_2=我
result_3=我l
result_4=我ll
result_5=我llo
result_6=我llo
result_7=我llo小
result_8=我llo小
result_9=我llo小李
result_10=我llo小李
result_11=我llo小李飞
result_12=我llo小李飞a
result_13=我llo小李飞as
result_14=我llo小李飞asd
result_15=我llo小李飞asdf
分享到:
评论

相关推荐

    C#(.net)中按字节数截取字符串最后出现乱码问题的解决

    最近需要用到按字节数截取字符串。在网上找了很多方法。 Encoding.Default.GetString采用的Default Encoding.UTF8.GetBytes采用的是utf-8编码。这样当然是乱码。尤其出现中文时候。 对这类数据处理当然要用统一的...

    C# 按照字节长度截取字符串

    接下来,我们要实现一个按照字节长度截取字符串的方法。这里我们可以结合使用`Substring()`和正则表达式。假设我们想截取前10个字节的字符串,可以这样做: ```csharp public static string ...

    asp.net c# String类添加按字节截取字符串的扩展方法

    本文将详细介绍如何为C#中的`String`类添加一个扩展方法,该方法允许我们按照字节而非字符来截取字符串。这在处理包含多字节字符(如中文或特殊符号)的字符串时尤为重要。 ### 扩展方法的背景与需求 在默认情况下...

    asp.net截取字符串方法

    本文将详细介绍一种使用字节精确计算的ASP.NET字符串截取方法,并通过具体的代码实现来帮助理解。 #### 方法原理 此方法主要采用Unicode编码方式,通过遍历字符串的字节数组来判断每个字符的实际占用空间,从而实现...

    C#加密JAVA解密

    public static string Encode(string data) { byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); ...

    C#字符串截取固定长度的方法

    ### C#字符串截取固定长度的方法 在C#编程语言中,经常需要处理字符串操作,其中一个常见的需求就是根据特定的长度来截取字符串。本文将详细介绍如何使用C#实现字符串的固定长度截取,并深入探讨背后的原理和技术...

    按字节截取字符串,结尾加..

    chrbyte = encoding.GetBytes(strVal); for (i_index = 1; i_index (chrbyte.Length); i_index = i_index + 2) { iCnt++; if (chrbyte[i_index] != 0) { iCnt++; } if (iCnt ) { byte[] va = new byte[2]...

    高效中英文字符串截取方法

    ### 高效中英文字符串截取方法 #### 知识点概述 本文将详细介绍一种用于高效截取中英文混合字符串的方法。该方法适用于处理大量数据(例如10万条记录),能够在极短的时间内(例如1秒)完成所需的操作。这种方法...

    Java精确截取字符串.pdf

    然而,当处理包含中文字符的字符串时,简单的按字符截取可能会出现问题,因为中文字符通常占用两个字节,而英文字符只占用一个字节。为了实现更精确的截取,可以采用如下的方法: ```java private String str; ...

    字符串按照指定的字节数来截取

    在IT行业中,字符串处理是一项基础且重要的任务,尤其是在编程领域。字符串是由字符组成的序列,而“字符串按照指定的字节数来截取”这个话题,就是指如何在字符串中提取固定字节数的部分。在不同的编程语言中,都有...

    Java中的String类getBytes()方法详解与实例

    ### Java中的String类getBytes()方法详解与实例 #### 简介 在Java编程语言中,`String`类是处理文本数据的核心类之一。它表示一个不可变的字符序列,这意味着一旦创建了一个`String`对象,其内容就不能被更改。在...

    关于java按字节截取带有汉字的字符串的解法

    在Java编程语言中,处理带有汉字的字符串时,由于汉字占据多个字节,按照字节进行截取可能会导致汉字被不完整地分割,从而产生乱码。为了解决这个问题,我们需要理解Unicode编码以及如何在Java中正确处理多字节字符...

    java中常用的字符串的截取方法.docx

    Java 中常用的字符串截取方法 Java 中的字符串截取方法是指对字符串进行截取、提取、比较、修改等操作的方法。这些方法都是 String 类或 StringBuffer 类提供的实例方法。下面将详细介绍这些方法: 1. length() ...

    Java精确截取字符串.doc

    以下是一种常见的解决方法,通过判断字符串中的每个字节来确定是否为中文字符,并据此进行截取: ```java public class StringTrimmer { private String str; private int counterOfDoubleByte; private byte b...

    JAVA字符串截取方法总结[文].pdf

    Java字符串处理是编程中常见的任务,这里我们详细讨论一下Java中字符串截取及相关方法。 1. `length()`:此方法返回字符串的长度,即字符的数量。例如,`s.length()`会返回字符串`s`中字符的个数。 2. `charAt(int...

    java中常用的字符串的截取方法

    在 Java 中,字符串截取是一种非常重要的操作,通过本文,我们可以了解到 Java 中常用的字符串截取方法,包括 length()、charAt()、getChars()、getBytes() 等等。这些方法可以帮助我们高效地操作字符串,解决实际...

    字符串 截取

    根据给定文件的信息,本文将围绕“字符串截取”这一主题进行深入探讨,重点在于如何在Java环境下实现对包含中文字符的字符串进行精确截取,同时确保不会出现半个汉字的情况。 ### 字符串截取的基本概念 在计算机...

    C#16进制与字符串字节数组之间的转换代码

    接着,通过循环遍历字符串并使用`Convert.ToByte`方法将其每两个字符转换为一个字节值,最终形成字节数组。 ```csharp private static byte[] strToToHexByte(string hexString) { hexString = hexString.Replace...

    Java精确截取字符串[归类].pdf

    在上述内容中,主要讨论了两种常见的Java字符串截取方法。 第一种方法是使用`substring()`函数,这是一个基础且直接的字符串截取方式。例如: ```java contentStr = contenttemp.substring(0, 150); ``` 这段代码会...

    截取中英混合的固定个数表格回显办法

    因此,本文将探讨一种适用于中英混合字符串的截取方法。 ### 二、解决方案概述 #### 2.1 字符串长度计算 在Java中,字符串的长度可以通过`String.length()`方法获取,但这种方法返回的是字符的数量,并不能区分...

Global site tag (gtag.js) - Google Analytics