How to change spaces to underscore and make string case insensitive?

98,884

Solution 1

use replaceAll and toLowerCase methods like this:

myString = myString.replaceAll(" ", "_").toLowerCase()

Solution 2

This works for me:

itemname = itemname.replaceAll("\\s+", "_").toLowerCase();

replaceAll("\\s+", "_") replaces consecutive whitespaces with a single underscore.

"first topic".replaceAll("\\s+", "_") -> first_topic

"first topic".replaceAll(" ", "_") -> first__topic

Solution 3

You can use the replaceAll & toLowerCase methods but keep in mind that they don't change the string (they just return a modified string) so you need to assign the back to the variable, eg.

String itemname = bundle.getString("itemname"); 
itemname = itemname.replaceAll(" ", "_").toLowerCase(); 
String filename = itemname + ".html";
Share:
98,884
Sabre
Author by

Sabre

Android developer

Updated on July 16, 2022

Comments

  • Sabre
    Sabre almost 2 years

    I have following question. In my app there is a listview. I get itemname from listview and transfer it to the webview as a string. How to ignore case of this string and change spaces to underscores?

    For example: String itemname = "First Topic". I transfer it to the next activity and want to ignore case and change space to underscore (I want to get first_topic in result). I get "itemname" in webviewactivity and want to do what I've described for following code:

    String filename = bundle.getString("itemname") + ".html";
    

    Please, help.

  • Sabre
    Sabre about 12 years
    Thanks, but I have no result. I use it in activity as String itemname = bundle.getString("itemname"); itemname.replaceAll(" ", "_").toLowerCase(); And then String filename = itemname + ".html"; May be it's not right. Please, have a look.
  • everconfusedGuy
    everconfusedGuy about 12 years
    u need to write it as itemname = itemname.replaceAll(" ", "_").toLowerCase();
  • shift66
    shift66 about 12 years
    @naini answered... these methods are not modifying the string they just return a new modified string so you should assign the new value.
  • Zarius
    Zarius about 12 years
    Doh, question was answered as a comment to previous answer whilst I typed (and I guess I should have posted as a comment - new to StackOverflow)
  • Al-Mothafar
    Al-Mothafar almost 5 years
    I think in most cases, your answer is better than the accepted one.