`

java截取包含中文的字符串

 
阅读更多
插入数据库时,如果字符超长可能会出sql异常,因此超长字符串可以进行截取。包含中文的也可以

public static String bSubstring(String s, int length) throws Exception {

	byte[] bytes = s.getBytes("Unicode");
	int n = 0; // 表示当前的字节数
	int i = 2; // 要截取的字节数,从第3个字节开始
	for (; i < bytes.length && n < length; i++) {
		// 奇数位置,如3、5、7等,为UCS2编码中两个字节的第二个字节
		if (i % 2 == 1) {
			n++; // 在UCS2第二个字节时n加1
		} else {
			// 当UCS2编码的第一个字节不等于0时,该UCS2字符为汉字,一个汉字算两个字节
			if (bytes[i] != 0) {
				n++;
			}
		}

	}
	// 如果i为奇数时,处理成偶数
	/*
	 * if (i % 2 == 1){ // 该UCS2字符是汉字时,去掉这个截一半的汉字 if (bytes[i - 1] != 0) i =
	 * i - 1; // 该UCS2字符是字母或数字,则保留该字符 else i = i + 1; }
	 */
	// 将截一半的汉字去掉,不加入到结果字符串
	if (i % 2 == 1) {
		i = i - 1;
	}
	return new String(bytes, 0, i, "Unicode");
}


String bb = "1啊啊234";
System.out.println(bSubstring(bb, 3));

 

分享到:
评论

相关推荐

    java中截取带汉字的字符串

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

    截取特定部分字符串

    "截取特定部分字符串"这个话题涉及到字符串操作的基础知识,它包括查找字符串的开始位置、结束位置,然后提取这两个位置之间的子字符串。在这个场景下,我们可能会用到`substring()`方法或其他相关函数来实现这一...

    截取指定长度的字符串

    对于包含汉字的字符串,需要注意编码问题。不同的编程语言对非ASCII字符(如汉字)的处理方式不同。在Python 3中,字符串默认使用Unicode编码,可以直接处理汉字。而在一些其他语言中,如Java,可能需要先将字符串...

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

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

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

    Java 中有多种方式可以实现字符串截取,包括使用 `substring`、`split` 和 `StringTokenizer` 等方法。在本例中,我们使用 `substring` 方法来实现字符串截取。 substring 方法 `substring` 方法用于从字符串中...

    java中如何截取字符串.txt

    Java提供了多种方式来实现字符串的截取功能,包括`substring()`、`subSequence()`等内置方法。下面将逐一介绍这些方法及其具体用法。 #### 1. `substring()` 方法 `substring()` 方法是Java中最常用的字符串截取...

    Java精确截取字符串.pdf

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

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

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

    截取字符串

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

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

    这个类应该包含一个方法,接收字符串、起始位置和长度作为参数,返回截取后的字符串。在处理中文字符时,我们需要确保按照字符而非字节进行截取。 2. **编译Java代码**:将Java源代码编译成.class文件。确保添加了...

    java字符串处理取出括号内的字符串

    在Java编程语言中,字符串...总的来说,无论是通过正则表达式还是通过栈,Java都提供了灵活且高效的方法来处理字符串,包括提取括号内的内容。理解并熟练运用这些工具,能帮助开发者更有效地处理各种字符串相关的任务。

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

    总结来说,处理包含中文的字符串截取问题,不能仅仅依赖于字符串级别的操作,而需要对字节级别进行细致的处理。本例中代码提供了一种方法,能够确保无论截取的字节长度如何,都能尽可能保证每个得到的字符是完整的。...

    jsp页面截取字符串

    JSP 提供了内置对象和脚本元素来处理字符串操作,其中包括字符串截取。下面我们将深入探讨如何在 JSP 页面中进行字符串截取,并通过实例演示其用法。 1. **String 类的方法** JSP 页面实质上是 Java 代码的视图...

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

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

    Substring字符串截取-kaic

    在编程领域,特别是涉及到文本处理的时候,`substring`方法是一个非常常见且重要的工具,它用于从一个字符串中截取部分子字符串。这个方法在Java、JavaScript等许多编程语言中都有提供,我们主要以Java为例来详细...

    按byte截取字符串

    它可能包含了一个名为`sliceByByte`的方法,接受一个字符串和要截取的字节数作为参数,然后按照上述步骤进行操作。 SliceByByteTest.java作为测试文件,可能会创建一些测试用例,包括各种长度和编码的字符串,来...

    字符串长度的判断 JAVA

    以下将详细讲解如何在Java中进行字符串长度的判断以及如何截取字符串。 首先,创建一个字符串对象通常使用`String`类的构造函数或者双引号括起来的字符串字面量。例如: ```java String panduan = "你好"; ``` 在...

    Java字符串查找和提取异常处理

    ### Java字符串查找和提取异常处理 #### 概述 本文将详细介绍如何在Java中实现字符串查找与提取功能,并在此过程中妥善处理可能出现的各种异常情况。通过分析提供的代码示例`IndexOfAndCharAt.java`,我们将了解到...

    JAVA如何按字节截取字符串

    "JAVA按照字节截取字符串" ...本文详细介绍了Java按照字节截取字符串的技术,包括使用StringBuffer类和charAt()方法的实现。这种技术在实际应用中具有重要的应用价值,对大家的学习和工作具有重要的参考价值。

    java中英文字符串截取

    本文将深入探讨如何在Java中有效地截取包含中文和英文字符的字符串,并解释给出的代码片段背后的逻辑。 ### Java中英文字符串截取的关键点 1. **字符编码的影响**:中文字符在不同的编码方式下占用的字节数不同。...

Global site tag (gtag.js) - Google Analytics