现在的位置: 首页 > 综合 > 正文

14-判断字符串中是否有英文(字符串处理)

2013年08月11日 ⁄ 综合 ⁄ 共 2228字 ⁄ 字号 评论关闭

StringUtil.java

package com.lh.bean;

public class StringUtil {
	// 要检查的字符串
	private String str;
	// 是否包含英文字符
	private boolean hasEn;

	public void setStr(String str) {
		this.str = str;
	}

	public String getStr() {
		return str;
	}

	public void setHasEn(boolean hasEn) {
		this.hasEn = hasEn;
	}

	public boolean isHasEn() {
		// 将字符串转换为字符数组
		char cArr[] = str.toCharArray();
		StringBuffer sb = new StringBuffer("");
		StringBuffer sb2 = new StringBuffer("");
		for (int i = 0; i < cArr.length; i++) {
			// 强制转换可以直接得到字符的ASCII码
			int ascii = (int) cArr[i];
			// 英文字符的ASCII码范围,大写字母A~Z的范围是65~90小写字母a~z的范围是97-122
			if (ascii >= 65 && ascii <= 90 || ascii >= 97 && ascii <= 122) {
				// 将每个英文字母添加到StringBuffer对象中
				sb.append(cArr[i]);
			} else {
				sb2.append(cArr[i]);
			}
		}
		// 如果保存英文字母的字符串不为“”,说明该字符串包含英文字母
		if (!sb.toString().equals(""))
			hasEn = true;
		else
			hasEn = false;
		return hasEn;
	}
}

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>

<body>
	<form action="check.jsp" method="post">
		<table>
			<tr>
				<td align="right">请输入字符串:</td>
				<td><input type="text" name="str" size="30">
				</td>
			</tr>
			<tr>
				<td colospan="2" align="center"><input type="submit" value="检查">
				</td>
			</tr>
		</table>
	</form>
</body>
</html>

check.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>My JSP 'check.jsp' starting page</title>
</head>

<body>
	<%
		request.setCharacterEncoding("UTF-8");
		String str = request.getParameter("str");
	%>
	<!-- 使用jspUsebean动作标签导入JavaBean对象 -->
	<jsp:useBean id="strBean" class="com.lh.bean.StringUtil"></jsp:useBean>
	<!-- 对StringUtil类的Str属性赋值 -->
	<jsp:setProperty property="str" name="strBean" value="<%=str %>" />
	<table>
		<tr>
			<td align="right">输入的字符串:</td>
			<td>
				<!-- 从StringUtil对象中获得Str的属性值 --> <jsp:getProperty property="str"
					name="strBean" /></td>
		</tr>
		<tr>
			<td align="right">是否包含英文字母:</td>
			<td>
				<!-- 从StringUtil对象中获得hasEn的属性值 --> <jsp:getProperty property="hasEn"
					name="strBean" /></td>
		</tr>
		<%--
		<tr>
			<td align="right">去掉英文字母后的字符串:</td>
			<td>
				<!-- 从StringUtil对象中获得cnStr的属性值 --> <jsp:getProperty property="cnStr"
					name="strBean" /></td>
		</tr>
	--%>
	</table>
</body>
</html>

 

 

//判断字符串是否含有数字的方法:
for(int i=0;i<cArr.length;i++){
 //强制转换得到ASCII码的值
 int ascii=(int)cArr[i];
 //数字的ascii码范围在48~57之间
 if(ascii>=48&&ascii<=57){
	sbNum.append(cArr[i]);
 }else{
	sbOhters.append(cArr[i]);
 }
 this.setOthersStr(sbOthers.toString());
 if(!sbNum.toString().equals(""))
	 hasNum=true;
 else
	 hasNum=false;
 return hasNum;
}

 

 

抱歉!评论已关闭.