`

汉字截取问题

    博客分类:
  • Java
 
阅读更多

如下

 

public class Test
{
	public static void main(String[] args)
	{
		String str = "我ABC们DEF";
		int n = 6;
		
		Test t = new Test();
		String temp = t.getSubStr(str, n);
		System.out.println(temp);
	}
	
	public String getSubStr(String str, int n)
	{
		if(n >= str.getBytes().length)
		{
			return str;
		}
		
		int i = 0;
		int sum = 0;
		
		while(true)
		{
			if(str.substring(i, i+1).getBytes().length > 1)
			{
				sum += 2;
			}
			else
			{
				sum++;
			}
			
			if(sum >= n)
			{
				if(sum == n)
				{
					i++;
				}
				break;
			}
			
			i++;
		}
		
		return str.substring(0, i);
	}
}

 

0
0
分享到:
评论

相关推荐

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

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

    java中截取带汉字的字符串

    ### Java中截取带汉字的字符串 在Java编程语言中,处理包含中文字符的字符串时,经常遇到的一个问题是如何正确地截取...通过以上方法,我们可以在Java中有效地处理包含中文字符的字符串截取问题,避免出现乱码等情况。

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

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

    PHP 去HTML,截取指定汉字正则表达试

    PHP 去HTML,截取指定汉字正则表达试PHP 去HTML,截取指定汉字正则表达试PHP 去HTML,截取指定汉字正则表达试PHP 去HTML,截取指定汉字正则表达试PHP 去HTML,截取指定汉字正则表达试PHP 去HTML,截取指定汉字正则表达试...

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

    在处理汉字时,需要注意汉字的截取问题。例如,如果输入字符串为 `"我 ABC"`,并且指定截取 4 个字节,则输出为 `"我 AB"`,而不是 `"我 AB"` 中的半个汉字。 SplitString 类 在本例中,我们定义了一个 `...

    php截取汉字类

    在Web开发中,尤其是中文网站的开发过程中,经常需要对中文字符串进行截取处理。PHP作为一种常用的服务器端脚本语言,提供了多种方法来处理字符串,包括对中文字符的处理。本文将详细介绍一个专门用于PHP截取汉字的...

    JavaScript截取中文字符串

    特别是在处理包含多种字符集(如英文与中文)的字符串时,考虑到不同字符编码长度的差异性,简单地按照字符数量进行截取可能会导致显示效果不佳或出现乱码等问题。本文将详细介绍一个专门用于处理中文字符串截取的...

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

    3. **字符串截取**:在Unicode字符串层面进行截取,可以避免编码问题。Python中,可以使用切片操作符`[start:end]`实现,例如:`unicode_str[start:end]`。 4. **编码回原格式**:如果需要,将截取后的Unicode字符...

    PHP中如何截取中文字符串

    因此,简单的基于字节的截取方法可能会导致截取到的中文字符不完整,从而显示乱码。 1. **使用mbstring扩展** PHP提供了一个强大的多字节字符串处理扩展——mbstring。它支持多种字符编码,包括UTF-8。我们可以...

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

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

    截取指定长度的字符串

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

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

    但对于包含中文字符(双字节)的字符串,简单地按字符数量截取会导致截取结果不符合预期的字节长度。因此,需要设计一种更复杂的算法来解决这个问题。 ### 二、解决方案概述 根据题目描述,本节将详细介绍一种适用...

    对字符进行截取

    oracle中的substr是针对字节进行截取,当处理对中文汉字时,非常不方便,通过对其封装,可以实现对字符进行截取。

    C++中汉字字符串的截取

    在 C++ 中处理汉字字符串时,一个重要的问题是如何正确地截取汉字字符串。下面将详细介绍相关的知识点。 一、GBK 编码简介 GBK 编码是一种中文字符编码标准,它是中国国家标准总局发布的国家标准。GBK 编码将中文...

    解决php截取中文出现乱码

    通过上述分析可以看出,正确地处理中文字符截取问题是非常重要的。无论是通过设置`substr()`函数的编码参数还是使用`mb_substr()`函数,都能有效地解决中文乱码的问题,使得开发者能够更加专注于业务逻辑的实现,而...

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

    总之,处理中英混合字符串,特别是涉及中文截取时,需要理解字符编码,尤其是Unicode的工作原理,以及如何在不同编码间进行转换。通过适当的方法,我们可以确保截取的字符串保持完整性和可读性,避免在处理多语言...

    javadbf解决中文截取

    javadbf解决中文截取

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

    通过上述分析可以看出,`getStr` 方法提供了一种有效的解决中文字符串截取问题的方法。它利用了正则表达式的强大功能来识别并替换中文字符,进而实现了正确的长度计算。不过需要注意的是,这种方法在实际应用中可能...

    Python中文字符串截取问题

    s = '中文截取' utf8_bytes = s.encode('utf8') # 正确的截取方式是按字符进行截取,可以使用len()计算中文字符的数量 half_length = len(s) // 2 first_half = utf8_bytes[:half_length].decode('utf8') ``` 在这...

    字符串 截取

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

Global site tag (gtag.js) - Google Analytics