`
thunderbow
  • 浏览: 155958 次
  • 性别: Icon_minigender_1
  • 来自: beijing
社区版块
存档分类
最新评论

java实现中英文混合字符截取方法(按字节长度截取,中文字符是占两个字节的,英文字符是占一个字节的)

阅读更多
public class Tools {
     public Tools() {
     } 
     /**
      * 字符串按字节截取
      * @param str 原字符
      * @param len 截取长度
      * @return String
      * @author kinglong
      * @since 2006.07.20
      */
      public static String splitString(String str, int len) {
             return splitString(str, len, "...");
      }

      /**
       * 字符串按字节截取
       * @param str 原字符
       * @param len 截取长度
       * @param elide 省略符
       * @return String
       * @author kinglong
       * @since 2006.07.20
       */
       public static String splitString(String str,int len,String elide) {
              if (str == null) {
                     return "";
              }
              byte[] strByte = str.getBytes();
              int strLen = strByte.length;
              int elideLen = (elide.trim().length() == 0) ? 0 : elide.getBytes().length;
              if (len >= strLen || len < 1) {
                     return str;
              }
              if (len - elideLen > 0) {
                     len = len - elideLen;
              }
              int count = 0;
              for (int i = 0; i < len; i++) {
                     int value = (int) strByte[i];
                     if (value < 0) {
                            count++;
                     }
              }
              if (count % 2 != 0) {
                     len = (len == 1) ? len + 1 : len - 1;
              }
              return new String(strByte, 0, len) + elide.trim();
       }
}

 

分享到:
评论

相关推荐

    java实现中英文混合字符截取方法

    Java 实现中英文混合字符截取方法是一个复杂的问题,需要考虑 Unicode 编码的特点、避免汉字被截半个和正确处理中英文混合字符串。通过本文的介绍,读者可以了解 Java 实现中英文混合字符截取方法的思路和实现细节,...

    delphi 实现截取字符串中中文+英文混合截取

    由于Unicode编码的存在,中文字符通常占据两个字节,而英文字符则占据一个字节,这就导致了在不正确处理的情况下可能会截断字符,从而出现乱码问题。本篇文章将深入探讨如何在Delphi中实现中文和英文混合字符串的...

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

    这就意味着当我们按照字节长度截取字符串时,可能会将一个完整的汉字分割成两部分,从而导致乱码。 Java中的`String`类提供了多种截取字符串的方法,如`substring()`、`subSequence()`等,但它们都是基于字符(char...

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

    本文介绍了一种用于高效截取中英文混合字符串的方法,并详细解释了其背后的实现原理。通过使用GB2312编码和特定的字节处理逻辑,该方法能够有效地处理大量数据并在短时间内完成任务。对于那些需要频繁处理此类字符串...

    java中截取带汉字的字符串

    需要注意的是,在UTF-8编码中,一个英文字符占1个字节,而一个中文字符占3个字节。因此,4个字节可以同时容纳一个中文字符或者四个英文字符。 2. **计算截取次数**:根据字符串长度和每次截取的字节数,计算出需要...

    字符串截取(按字节)

    本文将深入探讨一种按字节截取字符串的方法,并通过分析一个具体的Java代码示例来解释其实现原理。 #### 核心概念:Unicode与字节 在讨论字符串按字节截取之前,我们首先需要理解几个基础概念。现代计算机系统中,...

    java中英文字符串截取

    - **输入参数**:该方法接收两个参数,`text`是待截取的字符串,`length`是目标截取的字节数长度。 - **异常处理**:使用`getBytes("GBK")`方法时,如果系统不支持GBK编码,会抛出`UnsupportedEncodingException`...

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

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

    Java截取中英文混合字符串的方法

    Java截取中英文混合字符串的方法是指在Java语言中截取混合了中英文的字符串,并且保证汉字不被截半个的方法。这种方法在实际开发中非常有用,特别是在处理中文字符串时。 在Java中,字符串的截取可以使用substring...

    中英文字符串按字节截取

    截取含有中英文的字符串,按字节进行截取,当出现汉字时不能截取半个汉字要把汉字补全。

    C++中英混合字符串截取

    题目中的问题聚焦于如何正确地截取一个中英混合的字符串,确保在截取过程中不会将汉字字符截断。这个问题涉及到字符编码、字符串处理以及对Unicode的理解。下面将详细解释相关知识点。 首先,我们要理解在C++中处理...

    超实用c#按字节截取长度(原创)

    根据给定文件的信息,本文将深入探讨如何在C#中实现一种高效的按字节截取字符串的方法,尤其针对包含单字节与双字节混合字符的情况。这种方法特别适用于处理中文等双字节字符与英文等单字节字符混合的情况。 ### 一...

    c#截取指定长度,中英文混合字符串

    ### C# 截取指定长度的中英文混合字符串方法解析 在C#中处理文本时,经常需要对字符串进行截取操作。对于包含中文字符的字符串来说,由于一个中文字符通常占据两个字节的位置(在某些编码下),因此在进行长度判断...

    实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,

    实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,String类是按字符截取 的,例如"中国abc".substring(1,3),将返回...要求按字节截取,一个英文字符当一个字节,一个中文字符当两个字节.  

    截取如下字符串“java程序教程”的前5个字节,字符串应该为“java程”,截取前6个字符,字符串也应该为“java程”,程序实现之.

    为了实现这一需求,Java提供了String类的getBytes()方法,用于将字符串转换成字节数组,同样也提供了substring()方法用于截取字符串。但在本例中,使用substring()方法无法直接达到目标,因为这种方法无法直接对字节...

    C#实现中英文混合字符串截取的方法

    为了正确地截取中英文混合的字符串,我们需要一种能正确处理多字节字符的方法。 在提供的代码实例中,展示了如何在C#中实现这样一个功能。这个方法的核心在于通过遍历字符数组并计算实际字符长度(而非字节长度)来...

    java按字节截取带有汉字的字符串的解法(推荐)

    在Java编程语言中,处理包含汉字的字符串时,由于汉字在不同编码格式下占用的字节数不同,按字节截取字符串会面临特殊挑战。本文将深入探讨如何正确地按字节截取带有汉字的字符串,以确保不出现半字符或者乱码的情况...

    统计字符串中英文标点数量并截取.zip

    这个压缩包内包含的可能是Java代码示例(如csdn-demo),用于批量处理字符串,统计其中的中英文标点符号的数量,并根据指定的字符编码(GBK或UTF)来计算字符串的总长度。如果字符串的总长度超过预设的最大长度,...

    java 实现截取字符串并按字节分别输出实例代码

    本例通过Java代码实现了一个截取字符串的函数,该函数能够根据指定的字节数截取字符串,并保证在截取过程中不会将中文字符截断,也就是说,如果一个中文字符的字节长度超过了一个字节,那么在截取时会保持该字符的...

    [待删除]字符串截取 - 中英文

    根据给定文件的信息,我们将深入探讨Java中字符串截取的原理、方法以及在中英文操作系统下的特殊处理。 ### Java字符串截取 #### 原理与实现 在Java中,字符串本质上是一个不可变的字符序列,由`char`类型的数组...

Global site tag (gtag.js) - Google Analytics