`
zjx2388
  • 浏览: 1337019 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

字符处理

    博客分类:
  • J2SE
阅读更多

1.字符串和数字之间的转换 从页面表单中取到的数据是字符串,而数据库中存储的是整型时

,就要用到字符串和数字之间的转换.在字符串和Integer之间转换,可

以使用Integer的函数Integer.parseInt(String)来转换

2.自动截取特定长度的字符串 在网页上显示数据的时候,往往有超长的数据,这样就会影响到整个页

面的布局,有没有好办法呢?其实,碰到这样的情况,可以用程序自动

处理一下,把超过某一固定长度的数据用省略号表示,模块如程序2所

示。

程序2 自动截取字符串的函数

/**

* 截取一定长度字符串,用于页面显示,如果长度超出截取部分,用

postfix续尾

*

* @param 原始字符串

* @param 开始位置

* @param 结束位置

* @param postfix 超长部分使用postfix参数结尾

* @return 返回转换后的字符串

*/

public static String substring(String str, int start, int end,

String postfix) {

int length = str.length();

if (length <= start) {

return str;

} else if (length <= end){

return str.substring(start, length);

} else {

return str.substring(start, end) + postfix;

}

}

3.切分字符串 如程序3 所示的代码完成了字符串的切分功能。在功能上类似于String

类的split方法。该函数使用给定的字符c把字符串切分成两部分,如果

字符串s不包含字符串c,则直接返回字符串。

程序3 切割字符串的函数

//把给定的字符串s用特定的字符c切割成两部分

public static String[] split(String s, char c){

String as[] = {s,""};

int i = s.indexOf(c);

if(i!=-1) {

as[0] = s.substring(0, i);

as[1] = s.substring(i+1);

}

return as;

}

4.char和bytes之间的转换 函数chars2bytes完成从char到bytes类型的转换功能,而bytes2chars

函数则是chars2bytes的逆过程,它负责把bytes转换成char类型。其实

现代码如程序4所示。

程序4 char和bytes之间的转换函数

//char转换成bytes类型

public static byte[] chars2bytes(char ac[]) {

byte ab[] = new byte[ac.length * 2];

int i= 0;

for(int j=0;j<ac.length;j++){

char c0 = ac[j];

char c1 = ac[j];

ab[i++] = (byte)(c0>>8);

ab[i++] = (byte)(c1);

}

return ab;

}

//bytes 转换成char类型

public static char[] bytes2chars(byte ab[])

throws Exception {

if(ab.length %2!=0)

throw new Exception("Can't connvert an odd number of

bytes");

char ac[] = new char[ab.length/2];

int i =0 ;

for(int j=0;j<ac.length;j++){

byte b0 = ab[i++];

byte b1 = ab[i++];

ac[j] = (char)(b0 << 8 & 0xff00 | b1 & 0xff);

}

return ac;

}

5.编码转换 使用正确的编码转换字符,可以让不同国家和地区的人,在浏览读者的

网页时候正常显示页面信息,而不出现乱码,如程序5所示。

程序5 编码转换功能模块

//把给定编码转换成Unicode

public static String toUnicode(String s, String lang) {

if (s == null) return s;

try {

byte[] target_byte = s.getBytes();

return new String(target_byte, lang); // "gb2312".

"ISO8859-1" ."GBK"..

} catch (Exception ex) {

return s;

}

}

//应用示例

public static String toUnicode(String s) {

return toUnicode(s,"ISO8859-1");

}

// 把Unicode转换成给定的编码

public static String toEncode(String s, String lang) {

if (s == null) return s;

try {

byte[] target_byte = s.getBytes(lang);

return new String(target_byte);

} catch (Exception ex) { return s; }

}

//应用示例

public static String toEncode(String s) {

return toEncode(s,"ISO8859-1");

}

6.编码特殊的HTML字符 为防止页面出错,尤其是在使用者可以提交数据到服务器的情况下,肯

定要用到这样的功能,防止自己的页面构架被别人“篡改”,如程序6

所示。

程序6 处理特殊字符,如'\n','<'等

public static String toHTML(String s)

{

char c[] = s.toCharArray();

char ch;

int i = 0;

StringBuffer buf = new StringBuffer();

while (i < c.length)

{

ch = c[i++];

if (ch == '"') buf.append("&quot;");

else if (ch == '&') buf.append("&amp;");

else if (ch == '<') buf.append("&lt;");

else if (ch == '>') buf.append("&gt;");

else if (ch == '\'') buf.append("&apos;");

else buf.append(ch);

}

return buf.toString();

}

7.格式化HTML代码 方便数据在JSP页面中显示,这就需要把“\n”转换成“<br>”,其代

码如程序7所示。

程序7 处理HTML回车和换行

public static String formatHTML(String s)

{

char c[] = s.toCharArray();

char ch;

int i = 0;

StringBuffer buf = new StringBuffer();

while (i < c.length)

{

ch = c[i++];

if (ch == '\n') buf.append("<br>");

else

buf.append(ch);

}

return buf.toString();

}

分享到:
评论

相关推荐

    url参数中传递特殊字符处理方法

    URL参数中传递特殊字符处理方法 在进行 URL 参数传递时,需要处理特殊字符的编码问题。因为有些符号在 URL 中是不能直接传递的,需要使用他们的编码。以下是常见的 URL 特殊符号及编码: 1. + 号表示空格,编码为 ...

    SQL Server查询中的特殊字符处理(C#代码)

    为了解决上述问题,我们可以编写一个函数,该函数接收一个字符串作为输入,并返回一个经过特殊字符处理后的字符串,使其可以安全地用于SQL查询中。以下是一个示例实现: ```csharp using System.Text; public ...

    SQL 特殊字符处理

    SQL 中特殊字符处理,处理在模糊查寻中特殊字符的替换

    Vidual Basic的字符处理

    在Visual Basic(VB)编程语言中,字符处理是一项基本但重要的技能,特别是在处理文本数据时。这个编程环境提供了丰富的函数和方法来操作字符和字符串。以下是一些与字符处理相关的知识点,结合给定的代码片段进行说明...

    C语言程序设计-从字符串中删除指定的字符;同一字母的大、小写 按不同字符处理;

    C语言程序设计-从字符... 按不同字符处理; 例如:若程序执行时输入字符串为:turbocandborlandc++ 从键盘上输入字符:n,则输出后变为:turbocadbo rladc++,如果输入的字符在字符串中不存在,则字 符串照原样输出;

    SQL Server查询中的特殊字符处理

    本篇将详细阐述如何处理这些特殊字符,特别是针对`LIKE`操作的特殊字符。 首先,单引号(')是一个常见的特殊字符,它用于表示字符串的开始和结束。当需要在查询中使用单引号时,必须将其转义为双单引号(''),...

    VB字符排版字符处理程序.rar

    VB字符排版字符处理程序是一款基于Visual Basic (VB) 编程语言开发的应用,主要用于文本的格式化和处理。这个程序提供了多种实用功能,包括全角半角字符的转换、去除空行和回车符、以及重载文本等。下面将详细解释...

    iOS特殊字符处理

    在iOS开发中,特殊字符处理是一项关键任务,尤其是在处理用户输入、存储数据或者网络通信时。Foundation框架和CoreFoundation框架提供了强大的支持来处理这些字符,确保数据的安全性和一致性。下面我们将详细探讨这...

    逗号分隔字符串,Vc 字符处理示例源码.rar

    逗号分隔字符串,Vc 字符处理示例源码, 以逗号为分隔点,自由任意拆分字符串,经常编写代码的朋友可能会想到Split,对,本代码就是使用Split函数实现分隔字符串,这相当实用,在日常编程中,对字符串的截娶过滤与...

    宽字符处理函数函数与普通函数对照表

    这个是宽字符处理函数函数与普通函数对照表 对于VC宽字符开发的同学可能略有用处

    HyperStr字符处理控件源码

    《HyperStr字符处理控件源码深度解析》 在IT领域,高效地处理字符是许多应用程序的核心需求。HyperStr字符处理控件源码提供了一种高效的方法,它专为Delphi编程环境设计,旨在优化字符串操作,提升程序性能。本文将...

    SqlServer类似正则表达式的字符处理问题

    SQL Serve提供了简单的字符模糊匹配功能,比如:like, patindex,不过对于某些字符处理场景还显得并不足够,日常碰到的几个问题有: 1. 同一个字符/字符串,出现了多少次 2. 同一个字符,第N次出现的位置 3. 多个...

    数据库里的字符处理 txt文件

    在数据库管理中,字符处理是一项基础且至关重要的任务。它涉及到数据的输入、存储、检索以及展示等多个环节,确保字符的正确处理对于数据的一致性和完整性至关重要。以下是一些关于数据库字符处理的关键知识点: 1....

    C_宽字符处理函数函数与普通函数对照表(转).docx

    在C语言中,宽字符处理函数是用于处理宽字符(如UTF-16或UTF-32编码的字符)的特殊函数,它们与处理普通字符(通常为ASCII编码的单字节字符)的函数有所不同。宽字符处理函数主要用于处理多语言环境和非ASCII字符集...

    php字符处理类.zip

    在PHP编程中,字符处理是日常开发中必不可少的一...在实际项目中,正确有效地使用字符处理类不仅可以提高代码的可读性和可维护性,还能提高程序的性能。因此,了解并熟练掌握这些工具对于任何PHP开发者都是至关重要的。

    JS特殊字符处理

    综上所述,JavaScript中的特殊字符处理涉及了转义、模板字符串、正则表达式、JSON格式、字符串方法以及编码解码等多个方面。熟练掌握这些知识点,有助于编写出更健壮、更安全的JavaScript代码。

    web项目字符处理实例

    在IT行业中,尤其是在Web开发领域,字符处理和乱码问题是一项至关重要的任务。字符处理涉及到文本数据的编码、解码以及在不同系统间传递时的兼容性问题,而乱码问题则是字符处理不当所引发的常见现象。让我们深入...

    zhongwen.rar_C++宽字符处理

    在C++编程中,宽字符处理是一个重要的概念,特别是在处理多语言环境,特别是中文字符时。宽字符通常指的是Unicode编码的字符,它们占用多个字节,以表示更广泛的字符集,包括非ASCII码的字符,如汉字。"zhongwen.rar...

    文件操作与字符处理的例子

    文件操作与字符处理的例子 文件操作与字符处理是计算机科学和信息技术领域中的基础知识点。本文将从文件操作和字符处理两个方面展开,介绍相关的知识点。 文件操作 文件操作是指对文件进行读取、写入、删除、复制...

Global site tag (gtag.js) - Google Analytics