首先将输入的字符串转换位数组,然后循环该数组,在循环中使用String类的getBytes()方法将每个字符都转换为字节数组,根据字节数组的长度判断字符是否为汉字
*JavaBean类
public class StringUtil12 {
private String sourceStr; //源字符串
private String shortPhonetic=""; //获得汉字的拼音简码字符串
public String getSourceStr() {
return sourceStr;
}
public void setSourceStr(String sourceStr) {
this.sourceStr = sourceStr;
}
public String getShortPhonetic() {
char cArr[] = sourceStr.toCharArray(); //将字符串转换为数组
byte b[] ;
String sp = ""; //该变量用于在循环中保存单个字的拼音首字母
for(int i=0;i<cArr.length;i++){
b =String.valueOf(cArr[i]).getBytes();
if(b.length>1){ //如果字符串字节长度大于1,则为汉字
int code = 256*(b[0]+256)+(b[1]+256); //根据字节值获得汉字的Unicode编码
/**以下代码根据汉字的编码范围指定汉字的首字母*/
if (code >= 45217 && code <= 45252) {
sp="A";
} else if (code >= 45253 && code <= 45760) {
sp="B";
} else if (code >= 45761 && code <= 46317) {
sp="C";
} else if (code >= 46318 && code <= 46825) {
sp="D";
} else if (code >= 46826 && code <= 47009) {
sp="E";
} else if (code >= 47010 && code <= 47296) {
sp="F";
} else if (code >= 47297 && code <= 47613) {
sp="G";
} else if (code >= 47614 && code <= 48118) {
sp="H";
} else if (code >= 48119 && code <= 49061) {
sp="J";
} else if (code >= 49062 && code <= 49323) {
sp="K";
} else if (code >= 49324 && code <= 49895) {
sp="L";
} else if (code >= 49896 && code <= 50370) {
sp="M";
} else if (code >= 50371 && code <= 50613) {
sp="N";
} else if (code >= 50614 && code <= 50621) {
sp="O";
} else if (code >= 50622 && code <= 50905) {
sp="P";
} else if (code >= 50906 && code <= 51386) {
sp="Q";
} else if (code >= 51387 && code <= 51445) {
sp="R";
} else if (code >= 51446 && code <= 52217) {
sp="S";
} else if (code >= 52218 && code <= 52697) {
sp="T";
} else if (code >= 52698 && code <= 52979) {
sp="W";
} else if (code >= 52980 && code <= 53640) {
sp="X";
} else if (code >= 53689 && code <= 54480) {
sp="Y";
} else if (code >= 54481 && code <= 62289) {
sp="Z";
}
}
else{ //如果为英文字母,直接返回字母本身
sp=String.valueOf(cArr[i]);
}
shortPhonetic +=sp; //将转换后的每个汉字拼音简码连接成一个字符串
}
return shortPhonetic;
}
}
index.jsp页
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>过滤字符串中空格与NULL值</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<style type="text/css">
table{
border: 1px solid;
border-color: green;
font-family:华文细黑;
font-size: 13px;
color:gray;
}
input{
font-family:华文细黑;
font-size: 13px;
color:gray;
}
</style>
</head>
<body>
<form action="getshortphonetic.jsp" method="post">
<table>
<tr>
<td align="right">请输入汉字:</td>
<td><input type="text" name="sourceStr" size="30"/></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="获取拼音简码" /></td>
</tr>
</table>
</form>
</body>
</html>
getshortphonetic.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>处理过滤</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<style type="text/css">
table{
border: 1px solid;
border-color: green;
color: green;
font-size: 13px;
font-family: 华文细黑;
}
</style>
</head>
<body>
<%
String sourceStr = request.getParameter("sourceStr");
%>
<!-- 使用useBean动作标签导入JavaBean对象 -->
<jsp:useBean id="strBean" class="com.cn.zj.bean.StringUtil12"></jsp:useBean>
<!-- 对StringUtil类的longValue属性赋值 -->
<jsp:setProperty property="sourceStr" name="strBean" value="<%=sourceStr %>"/>
<table>
<tr>
<td>输入的汉字:</td>
<td align="left">
<jsp:getProperty property="sourceStr" name="strBean"/>
</td>
</tr>
<tr >
<td>拼音简码:</td>
<td align="left">
<jsp:getProperty property="shortPhonetic" name="strBean"/>
</td>
</tr>
</table>
</body>
</html>