`
san_yun
  • 浏览: 2653124 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

写了个截取中文字符串的方法

    博客分类:
  • java
 
阅读更多
public static String substring(String value, int beginIndex, int length) {
		String chinese = "[\u0391-\uFFE5]";
		if (length > value.length()) {
			throw new IllegalArgumentException(
					"length must less than value.length()");
		}
		char[] charArray = value.toCharArray();
		StringBuilder sb = new StringBuilder();
		for (int i = beginIndex,twice=0; twice < length; i++,twice++) {
			/* 获取一个字符 */
			String temp = String.valueOf(charArray[i]);
			/* 如果是中文多增加一个字符 */
			if (temp.matches(chinese)) {
				if(length-twice>1){
					++twice;
					sb.append(temp);
				}
			} else {
				sb.append(temp);
			}
		}
		return sb.toString();
	}
 
分享到:
评论

相关推荐

    JavaScript截取中文字符串

    ### JavaScript截取中文字符串知识点详解 #### 一、引言 在进行文本处理时,我们经常需要对字符串进行截取操作。特别是在处理包含多种字符集(如英文与中文)的字符串时,考虑到不同字符编码长度的差异性,简单地...

    截取指定长度的字符串

    "截取指定长度的字符串"这个主题涉及到的是如何从一个字符串中提取出特定长度的部分。这在处理用户输入、数据展示、信息提取等多个场景中都非常常见。接下来,我们将深入探讨这个知识点。 首先,让我们明确什么是...

    java中截取带汉字的字符串

    在Java编程语言中,处理包含中文字符的字符串时,经常遇到的一个问题是如何正确地截取这些字符串。如果直接按照字节(byte)来进行分割,很容易导致中文字符被截断一半,从而形成乱码。这是因为一个中文字符通常占用多...

    PHP中如何截取中文字符串

    我们可以使用`mb_substr()`函数来截取中文字符串: ```php $ChineseString = "这是一个中文字符串"; $substring = mb_substr($ChineseString, 0, 3, 'utf-8'); ``` 在上面的代码中,`mb_substr()`函数的第三个参数...

    impala中substr()截取中文字符串乱码的问题

    然而,当涉及到处理中文字符时,Impala的内置函数`substr()`和`substring()`可能会遇到一些挑战,尤其是在截取中文字符串时可能出现乱码问题。这是因为这两个函数在设计时可能没有充分考虑多字节字符集,如UTF-8,而...

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

    在Delphi编程环境中,处理中文和英文混合的字符串截取是一项常见的任务,特别是在涉及到文本处理、数据解析或者用户界面展示时。由于Unicode编码的存在,中文字符通常占据两个字节,而英文字符则占据一个字节,这就...

    截取字符串

    在编程领域,字符串操作是一项基础且重要的任务,而“截取字符串”是其中的一个关键功能。这个小demo展示了如何在不同的编程环境中实现字符串截取,同时也涉及到字符串的空格处理。接下来,我们将深入探讨这两个主题...

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

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

    asp.net截取字符串方法

    以上介绍的方法可以有效地解决ASP.NET中字符串截取时出现的乱码问题,特别是在处理包含中文或其他多字节字符的字符串时非常有用。通过对字节数组的精确控制,实现了字节级别的截取功能,确保了截取结果的准确性。...

    java编写一个截取字符串的函数,输入为一个字符串和字节数.docx

    Java 字符串截取函数 ...本例中,我们实现了一个 Java 字符串截取函数,该函数可以截取指定字节的字符串,并保证汉字不被截半个。该函数使用 `substring` 方法来实现字符串截取,并且可以应用于各种字符串处理场景。

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

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

    php不破坏单词截取子字符串类.zip

    2. 截取方法:这个类中可能会有一个主要的截取方法,如`substring`或`smartCut`,它接受输入字符串、目标长度和可能的其他选项(如是否在末尾添加省略号)作为参数。内部实现可能涉及查找单词边界,使用正则表达式或...

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

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

    C#字符串截取

    以上三种方法分别适用于不同的字符串截取场景,其中 `GetFirstString` 方法考虑了中文字符的特殊性,而 `StringbSubString` 和 `CutString` 方法则更侧重于英文和数字字符的处理。在实际开发过程中,可以根据具体的...

    LabVIEW拆分中文字符串.rar

    这个"LabVIEW拆分中文字符串.rar"文件很可能是提供了一个解决此类问题的范例或工具。 在LabVIEW中,中文字符串的拆分通常涉及到以下几个关键知识点: 1. **字符串数据类型**:LabVIEW有两种基本的字符串数据类型,...

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

    这里需要注意的是,由于UTF-8编码可能造成字符串和字节数组的长度不一致,例如对于中文字符,“程”字在UTF-8编码下占用3个字节,因此如果截取长度不当时,最后一个字符可能无法形成一个完整的字符。 为了解决上述...

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

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

    按byte截取字符串

    本篇文章将详细探讨“按byte截取字符串”这一技术点,并通过两个Java文件——SliceByByteTest.java和SliceByByte.java的实例来阐述其实现方法。 首先,我们需要理解字符串在计算机内存中的存储方式。在Java中,字符...

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

    这个方法将接收一个整型参数`length`,表示要截取的字节数,并返回一个新的字符串,该字符串是从原字符串中按照指定字节数截取的结果。 #### 方法实现细节 下面展示了`bSubstring`扩展方法的具体实现: ```csharp...

    按字节长度截取字符串(支持截取带HTML代码样式的字符串)

    以下是一个示例,展示了如何创建一个函数,该函数能够处理HTML字符串并按照字节长度进行截取: ```csharp public static string SubStringHtml(string input, int byteLength) { if (string.IsNullOrEmpty(input))...

Global site tag (gtag.js) - Google Analytics