Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 118
  • Last Modified:

Java String Exercise

I am working on an exercise in JAVA 1.8 that goes like this.
I have a String : "Able was I, ere I saw Elba."
I need to remove spaces and punctuation and capitalize it all.
Then I need to save a copy of it in reverse order and compare the two to see if they are the same.

Does anyone have a suggestion on how they might achieve this ?
I was thinking along the lines of a regex /[a-zA-Z]+/g    as a possibility. But I don't know how to extract the words using a RegEx.
The result of the extraction would have the above expression returned as "ABLEWASIEREISAWELBA" .

Thanks,

Dave
0
David King
Asked:
David King
  • 5
  • 3
  • 2
  • +1
1 Solution
 
CEHJCommented:
Some pointers:

String.toUpperCase
String.replace
StringBuilder.reverse
2
 
David KingDirector I.T. SystemsAuthor Commented:
Thanks, I'll research the API docs on those.
0
 
David KingDirector I.T. SystemsAuthor Commented:
I have tested my RegEx /[a-zA-Z]+/g on my test string and it selects all of the words correctly. Is there a String class method that I can use that will allow me to use my RegEx expression to select the Words in my String and Return them back as a string, leaving the un-selected text behind?
?
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
CEHJCommented:
I have tested my RegEx /[a-zA-Z]+/g on my test string and it selects all of the words correctly.
How and where?
Is there a String class method that I can use that will allow me to use my RegEx expression to select the Words in my String and Return them back as a string
That's not really how regex works. You need to think about replacement
0
 
David KingDirector I.T. SystemsAuthor Commented:
I am trying to use the String.replace(regex , string) method to get the job done.

Like this;

public class PalCode
{

    public PalCode()
    {
        String palString = new String("Able was I, ere I saw Elba."); // original input String
        String workedString = new String(""); // String after manipulation
        workedString = palString.replace("[^a-zA-Z]+/g" , "");
        System.out.println("Manipulated string result is: " + workedString);

    }
}// end class PalCode

The regex expression should match character that are NOT a-z or A-Z and replace them with "nothing".
The program runs and compiles without any errors but the regex has NO effect. ??
0
 
David KingDirector I.T. SystemsAuthor Commented:
OK, I got it. This works.

public class PalCode
{

    public PalCode()
    {
        String palString = new String("Able was I, ere I saw Elba."); // original input String
        String workedString = new String(""); // String after manipulation
        workedString = palString.replaceAll("[^a-zA-Z]+" , "").toUpperCase();
        System.out.println("Manipulated string result is: " + workedString);

    }
}// end class PalCode


("Able was I, ere I saw Elba."); // original input String
Manipulated string result is: ABLEWASIEREISAWELBA
0
 
awking00Commented:
The String replace method will replace a char sequence or array. I think you should look at the replaceAll method which takes a regular expression as its first argument.
0
 
awking00Commented:
Too late with my replaceAll suggestion :-(
0
 
awking00Commented:
Now you just need to create a string that's the reverse of the string you have and compare them to complete your task.
0
 
krakatoaCommented:
When you come back again with your next question, be great if you could stick your code in the code formatting delimiters. ;)
1
 
David KingDirector I.T. SystemsAuthor Commented:
Figured it out.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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