转自http://zangweiren.iteye.com/blog/216005
public static void main(String []args) throws Exception
{
System.out.println(substring("我DOMINIC爱JAVA",10));
}
public static String substring(String orignal, int count)
throws UnsupportedEncodingException {
// 原始字符不为null,也不是空字符串
if (orignal != null && !"".equals(orignal)) {
// 将原始字符串转换为GBK编码格式
orignal = new String(orignal.getBytes(), "GBK");
// 要截取的字节数大于0,且小于原始字符串的字节数
if (count > 0 && count < orignal.getBytes("GBK").length) {
StringBuffer buff = new StringBuffer();
char c;
for (int i = 0; i < count; i++) {
// charAt(int index)也是按照字符来分解字符串的
c = orignal.charAt(i);
buff.append(c);
if (isChineseChar(c)) {
// 遇到中文汉字,截取字节总数减1
--count;
}
}
return buff.toString();
}
}
return orignal;
}
public static boolean isChineseChar(char c)
throws UnsupportedEncodingException {
// 如果字节数大于1,是汉字
// 以这种方式区别英文字母和中文汉字并不是十分严谨,但在这个题目中,这样判断已经足够了
return String.valueOf(c).getBytes("GBK").length > 1;
}
分享到:
相关推荐
RF(Regular Expression,正则表达式)是一种强大的文本处理工具,广泛应用于字符串截取、比较和切割等任务。在这个"rf.rar"压缩包中,我们看到涉及到RF字符串处理的三个关键知识点:RF字符串截取、RF字符串比较以及...
根据给定的信息,本文将详细解释两个用于C语言中字符串截取的方法:`subStringByIndex` 和 `subStringByPointer`。这两个函数都属于自定义实现,它们提供了灵活且实用的功能来帮助开发者轻松地从一个字符串中提取所...
字符串截取是处理字符串时的常见操作,它允许我们从一个长字符串中提取出我们感兴趣的子串。本演示源码将详细介绍如何在Delphi中进行字符串截取,通过实例帮助开发者理解并掌握这一技术。 在Delphi中,我们可以使用...
### Delphi字符串截取函数详解 在Delphi编程语言中,字符串处理是极其常见的操作,尤其是在数据处理、文本分析和用户界面设计等场景下。Delphi提供了丰富的字符串处理函数,其中包括了截取、拼接、删除、插入等功能...
使用一个指定的分隔符把一个字符串分割存储到数组 使用您选择的分隔符将一个数组合并为一个字符串 返回字符串中匹配子串的第一个字符的下标
Substring截取字符串字符串截取方法 Substring截取字符串字符串截取方法是计算机编程中一种常见的操作,它指的是从字符串中提取某一段子字符串,在不同的编程语言中有不同的实现方式。下面将介绍Substring截取字符...
"截取指定长度的字符串"这个主题涉及到的是如何从一个字符串中提取出特定长度的部分。这在处理用户输入、数据展示、信息提取等多个场景中都非常常见。接下来,我们将深入探讨这个知识点。 首先,让我们明确什么是...
根据给定的文件信息,我们可以总结出以下关于C#中的字符串截取的相关知识点: ### C#字符串截取方法概述 在C#编程语言中,字符串处理是非常常见的需求之一,尤其是在Web开发、桌面应用开发以及数据处理等领域。...
C#开发中经常用到一些字符串截取的函数,文档中含有大多数的函数
VC++字符串截取总结 VC++字符串截取是指在VC++中对字符串进行截取、提取和操作的技术。本文将对VC++字符串截取进行总结,包括CString类的常用方法、char*字符串的截取方法等。 CString类的截取方法 CString类是...
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
"盛飞字符串截取函数",即SenFe_Cut,是为了解决特定字符串截取问题而设计的一个自定义函数。这个函数的主要功能是从左向右根据用户指定的首尾字符串来截取中间的内容,适用于那些内置字符串截取函数无法满足需求的...
Shell 字符串截取、查找、替换 Shell 字符串截取是指在 Shell 编程中对字符串进行截取、查找、替换等操作。下面将详细介绍 Shell 字符串截取的知识点。 一、字符串截取 Shell 字符串截取可以使用多种方法,以下是...
本文将详细介绍JavaScript中关于字符串处理的一些常用方法,特别是与“截取”相关的功能,这将帮助开发者更好地理解和掌握这些实用技巧。 #### concat —— 字符串拼接 `concat()` 方法用于连接两个或多个字符串。...
这个小demo展示了如何在不同的编程环境中实现字符串截取,同时也涉及到字符串的空格处理。接下来,我们将深入探讨这两个主题。 首先,让我们讨论字符串截取。在大多数编程语言中,都有内置的函数或方法来实现字符串...
java 字符串截取工具类java 字符串截取工具类
### 高效中英文字符串截取方法 #### 知识点概述 本文将详细介绍一种用于高效截取中英文混合字符串的方法。该方法适用于处理大量数据(例如10万条记录),能够在极短的时间内(例如1秒)完成所需的操作。这种方法...
本文将详细介绍如何在批处理脚本中进行字符串截取,并通过具体的例子来说明不同的截取方法。 ### 一、基本概念 在批处理脚本中,字符串的截取主要通过变量扩展的方式完成。具体来说,是通过特殊的语法 `%variable:...
在编程领域,特别是涉及到文本处理的时候,`substring`方法是一个非常常见且重要的工具,它用于从一个字符串中截取部分子字符串。这个方法在Java、JavaScript等许多编程语言中都有提供,我们主要以Java为例来详细...
在描述中提到的“博文链接:https://energykey.iteye.com/blog/360010”,这是一个在线IT社区的文章链接,可能详细介绍了关于字符串截取的某个具体实例或一种特殊技巧。由于无法直接访问该链接,我们将专注于一般性...