Remove certain characters from string

f3d0r picture f3d0r · Dec 31, 2013 · Viewed 14.2k times · Source

I want to create a program that gives the number of characters, words, etc... in a user-inputted string. To get the word count I need to remove all the periods and commas form a string. So far I have this:

import javax.swing.JOptionPane;
public class WordUtilities
{
   public static void main(String args[])
   {
      {
      String s = JOptionPane.showInputDialog("Enter in any text.");

      int a = s.length();
      String str = s.replaceAll(",", "");
      String str1 = str.replaceAll(".", "");
      System.out.println("Number of characters: " + a);
      System.out.println(str1);
      }
   }
}

But in the end I get only this:

Number of characters: (...)

Why is it not giving me the string without the commas and periods? What do I need to fix?

Answer

Christian picture Christian · Dec 31, 2013

You can use:

String str1 = str.replaceAll("[.]", "");

instead of:

String str1 = str.replaceAll(".", "");

As @nachokk said, you may want to read something about regex, since replaceAll first parameter expects for a regex expression.

Edit:

Or just this:

String str1 = s.replaceAll("[,.]", "");

to make it all in one sentence.