`

中英文字符截取问题

 
阅读更多
	public static void main(String[] args) {
		System.out.println(subTextString("aa你1好2你好", 5));

	}

	// 截取字符串长度(中文2个字节,半个中文显示一个)
	public static String subTextString(String str, int len) {
		if (str.length() < len / 2)
			return str;
		int count = 0;
		StringBuffer sb = new StringBuffer();
		String[] ss = str.split("");
		for (int i = 1; i < ss.length; i++) {
			count += ss[i].getBytes().length > 1 ? 2 : 1;
			sb.append(ss[i]);
			if (count >= len)
				break;
		}
		// 不需要显示...的可以直接return sb.toString();
		return (sb.toString().length() < str.length()) ? sb.append("...")
				.toString() : str;
	}

 

分享到:
评论

相关推荐

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

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

    截取中英文字符串函数

    可以截取中英文字符串,也可以含有字符,里面有好几个方法 有按字符个数截取 有按字节数来截取不会存在乱码

    ASP中英文混合字符串的截取

    这三个函数在处理中英文混合字符串时非常实用,它们能够正确计算字符串的实际长度并进行相应的截取,解决了在ASP环境中中文字符截取的难题。在实际应用中,可以将这些函数集成到网页的代码中,以便在需要处理字符串...

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

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

    java中英文字符串截取

    ### Java中英文字符串截取的关键点 1. **字符编码的影响**:中文字符在不同的编码方式下占用的字节数不同。例如,在UTF-8编码中,中文字符通常占用3个字节,而在GBK编码中,则可能占用2或4个字节。因此,在计算字符...

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

    Java 实现中英文混合字符截取方法是指在 Java 编程语言中截取字符串中混合了中英文字符的方法。这种方法主要用于解决在 Java 中截取字符串时遇到的问题,即在截取中英文混合字符串时如何避免汉字被截半个。 在 Java...

    PHP UTF-8 等宽度截取中英文字符.txt

    ### PHP UTF-8 等宽度截取中英文字符知识点详解 #### 一、背景介绍 ...通过以上内容的学习,可以有效地解决在处理多语言文本时遇到的字符截取问题,特别是在中文环境下,确保字符串截取的准确性及美观性。

    中英文字符串按字节截取

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

    截取字符办法(区分中英文)

    因此,在处理这类问题时,需要一种能够区分中英文字符的方法来确保截取的准确性。 #### 正则表达式基础 在上述代码中,主要采用了正则表达式来判断字符是否为中文字符。正则表达式是一种强大的文本匹配工具,它...

    PHP 不区分中英文截取utf8字符串

    这段代码会正确地截取字符串,即使其中包含了中文和英文字符。 然而,有时候我们可能需要根据字节数而不是字符数来截取,例如限制输出的字节数。这时,我们需要计算每个字符的字节数,并相应调整`start`和`length`...

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

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

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

    在UTF-8编码中,英文字符占1字节,而汉字占3或4字节。因此,截取字符串时,我们不能简单地按照字节数来截断,否则可能会破坏汉字的完整性。 解决这个问题的方法是使用`std::wstring`,它能处理宽字符,适合处理...

    js中英文混合的字符串换行

    //不分中英文按字符串长度循环每个字符截取换行 这个是隔10个字符换行一次 String psStr="asdfghjklzxcvbnmzxcvbnmsdfghaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbb"; String aa=""; String bb=""; for (int i...

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

    "统计字符串中英文标点数量并截取.zip"的文件提供了针对这种情况的一个解决方案。这个压缩包内包含的可能是Java代码示例(如csdn-demo),用于批量处理字符串,统计其中的中英文标点符号的数量,并根据指定的字符...

    中文字符串截取(支持各种编码格式)底层实现源码

    UTF-8编码中,英文字符占用1个字节,而中文字符可能占用3个或4个字节。因此,简单的基于字节的截取方法可能会导致截取的中文字符不完整或者出现乱码。 中文字符串截取的底层实现主要涉及到以下几个关键步骤: 1. *...

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

    Java截取中英文混合字符串的方法 Java截取中英文混合字符串的方法是指在Java语言中截取混合了...Java截取中英文混合字符串的方法需要考虑到编码方式和汉字占用字节长度的问题,并使用特殊的方法来保证汉字不被截半个。

    smarty中英文多编码字符截取乱码问题解决方法

    通过上述的修改,smarty中英文多编码字符截取乱码问题得到了解决。代码通过智能检测字符串的编码,并且按照字符的实际显示长度来截取文本,从而避免了使用传统truncate方法时会出现的乱码问题。这个解决方案不仅适用...

    PHP中如何截取中文字符串

    中文字符串通常包含UTF-8编码的字符,这与ASCII编码的英文字符串处理方式有所不同。以下将详细讲解如何在PHP中正确截取中文字符串。 首先,我们需要了解UTF-8编码的特点。UTF-8是一种变长的字符编码,英文字符由一...

    js截取固定长度的中英文字符的简单实例

    为了解决这个问题,我们需要自定义一个函数来准确地截取固定长度的字符串,同时考虑中英文字符。 标题提到的"js截取固定长度的中英文字符的简单实例",实际上就是提供了一个这样的解决方案。这个实例中的函数`...

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

    这个方法巧妙地处理了中英文混合字符串的截取问题,确保了截取结果的正确性。在实际应用中,你可以根据需要调整这个方法,例如添加对其他多字节字符集的支持,或者优化性能。此外,此方法也可以作为一个基础,扩展到...

Global site tag (gtag.js) - Google Analytics