String类的String[]split(String regex)方法,该方法可以用参数regex指定的正则表达式作为分隔标记分解成当前字符串中的语言符号,例如可以使用正则表达式“[0123456789].+”匹配所有的数字序列,用“[^0123456789].+”匹配所有的非数字序列
1.index.jsp文件
<%@ page contentType="text/html;charset=utf-8" %>
<HTML>
<body >
<form action="" method=post name=form>
<input type="text" name="message" size=50>
<input type="submit" value="确定" name="submit">
</form>
<%
request.setCharacterEncoding("utf-8");//在获取信息之前设置自己的编码
String message=request.getParameter("message");
double number=0;
if(message==null)
{
message="";
}
%>
<b>账单内容:<br><%=message%>
<br><br><font color=red>用非数字序列分隔</font><br>
<%
String []a=message.split("[^0123456789.]");
double sum=0;
for(String s:a)
{
try{
sum+=Double.parseDouble(s);
}
catch(NumberFormatException exp){}
}
for(int i=0;i<a.length;i++){out.println(a[i]+" ");}
%>
<br>账单总消费:<%=sum %> <br>
------------------------------------------------------------------------------------
<br><font color=red>用数字序列分隔</font><br>
<%
String []a2=message.split("[0123456789.]");
double sum2=0;
for(String s:a2)
{
try{
sum2+=Double.parseDouble(s);
}
catch(NumberFormatException exp){}
}
for(int i=0;i<a2.length;i++){out.println(a2[i]+" ");}
%>
<br>账单总消费:<%=sum2 %> </b>
</body>
</html>
2.浏览器显示效果