• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 397
  • Last Modified:

Remove any spacial character and numbers from string in JSP

How I can remove any spacial character and numbers from string in JSP ?

for example
String vr_Statement = "Hello Mr Saloman 123 {0} Ok I will go to the {1} school - at 7 oclock"

I want to remove the spacial charcter and numbers from last string variables can anybody help me ?
0
bworld
Asked:
bworld
  • 6
  • 5
  • 2
2 Solutions
 
KuldeepchaturvediCommented:
String vr_Statement = "Hello Mr Saloman 123 {0} Ok I will go to the {1} school - at 7 oclock";
char[] newstr = vr_Statement.toCharArray();
StringBuffer nb = newStringBuffer();
for(char a:newstr)
{
if(Character.isLetter(c);
nb.append(c);
}

String final = nb.toString();

0
 
bworldAuthor Commented:
Hello Kuldeepchaturvedi

Can you explain to me

for(char a:newstr)
{
if(Character.isLetter(c);
nb.append(c);
}
0
 
KuldeepchaturvediCommented:
its just another way of writing the for loop.

same thing could have been written as

for(int i=0; i<newstr.length;i++)
{
if(Character.isLetter(newstr[i]);  //Here I am using a static method of Class Character to check if its a letter
nb.append(newstr[i]);  //here I am simply adding it to the stringbuffer to make a string after the loop finishes.
}
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
bworldAuthor Commented:
The code attach give me error please check it
<%
String vr_Statement = "Hello Mr Saloman 123 {0} Ok I will go to the {1} school - at 7 oclock";
out.print (vr_Statement);
 
char[] newstr = vr_Statement.toCharArray();
StringBuffer nb = newStringBuffer();
 
for(int i=0; i<newstr.length;i++)
{
	if (Character.isLetter(newstr[i])
	{
		nb.append(newstr[i]);
	}
}
 
String final = nb.toString();
 
out.print ("<p>");
out.print (final);
out.print ("<p>");
%>

Open in new window

0
 
bworldAuthor Commented:
Please check the script give me error
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<%
String vr_Statement = "Hello Mr Saloman 123 {0} Ok I will go to the {1} school - at 7 oclock";
out.print (vr_Statement);
 
char[] newstr = vr_Statement.toCharArray();
StringBuffer nb = newStringBuffer();
 
for(int i=0; i<newstr.length;i++)
{
	if (Character.isLetter(newstr[i]))
	{
		nb.append(newstr[i]);
	}
}
 
String final = nb.toString();
 
out.print ("<p>");
out.print (final);
out.print ("</p>");
%>
</body>
</html>

Open in new window

0
 
KuldeepchaturvediCommented:
can you post the error that you got? It always helps a lot to see the actual error to debug rather than just looking at code and knowing that there may be an error in code..
0
 
bworldAuthor Commented:
This is error
HTTP Status 500 - 
 
--------------------------------------------------------------------------------
 
type Exception report
 
message 
 
description The server encountered an internal error () that prevented it from fulfilling this request.
 
exception 
 
org.apache.jasper.JasperException: Unable to compile class for JSP
 
An error occurred at line: 10 in the jsp file: /test5.jsp
Generated servlet error:
Syntax error on token "final", delete this token
 
An error occurred at line: 10 in the jsp file: /test5.jsp
Generated servlet error:
Syntax error on token "final", invalid ArgumentList
 
 
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 
 
root cause 
 
org.apache.jasper.JasperException: Unable to compile class for JSP
 
An error occurred at line: 10 in the jsp file: /test5.jsp
Generated servlet error:
Syntax error on token "final", delete this token
 
An error occurred at line: 10 in the jsp file: /test5.jsp
Generated servlet error:
Syntax error on token "final", invalid ArgumentList
 
 
	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 
 
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.
 
 
--------------------------------------------------------------------------------
 
Apache Tomcat/5.5.17

Open in new window

0
 
rrzCommented:
I am just trying to help until kuldeep returns here. Tell us what output you are looking for.
>StringBuffer nb = newStringBuffer();
should be  
StringBuffer nb = new StringBuffer();
>String final = nb.toString();
>out.print (final);
final is a reserved word in Java.
change to something else
String final2 = nb.toString();
...
out.print (final2);
0
 
rrzCommented:
You have 26 open questions. You should close some of those if you want more people to help you.
0
 
KuldeepchaturvediCommented:
thanks for covering me rrz...
bworld try below code.. its basically the two fixes that rrz gave you in earlier post.
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<%
String vr_Statement = "Hello Mr Saloman 123 {0} Ok I will go to the {1} school - at 7 oclock";
out.print (vr_Statement);
 
char[] newstr = vr_Statement.toCharArray();
StringBuffer nb = new StringBuffer();
 
for(int i=0; i<newstr.length;i++)
{
        if (Character.isLetter(newstr[i]))
        {
                nb.append(newstr[i]);
        }
}
 
String final2 = nb.toString();
 
out.print ("<p>");
out.print (final2);
out.print ("</p>");
%>
</body>
</html>

Open in new window

0
 
bworldAuthor Commented:
Ok the code working fine

But I need remove all spacial character only but I need to remain the space between words.
0
 
bworldAuthor Commented:
I need the output as follow

Hello Mr Saloman Ok I will go to the school at oclock
0
 
KuldeepchaturvediCommented:
If you want to keep spaces in the string use following code.
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<%
String vr_Statement = "Hello Mr Saloman 123 {0} Ok I will go to the {1} school - at 7 oclock";
out.print (vr_Statement);
 
char[] newstr = vr_Statement.toCharArray();
StringBuffer nb = new StringBuffer();
 
for(int i=0; i<newstr.length;i++)
{
        if (Character.isLetter(newstr[i])||Character.isWhitespace(newstr[i]))
        {
                nb.append(newstr[i]);
        }
}
 
String final2 = nb.toString();
 
out.print ("<p>");
out.print (final2);
out.print ("</p>");
%>
</body>
</html>

Open in new window

0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 6
  • 5
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now