How to change spaces to underscore and make string case insensitive?
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";
Comments
-
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 getfirst_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 about 12 yearsThanks, but I have no result. I use it in activity as
String itemname = bundle.getString("itemname"); itemname.replaceAll(" ", "_").toLowerCase();
And thenString filename = itemname + ".html";
May be it's not right. Please, have a look. -
everconfusedGuy about 12 yearsu need to write it as itemname = itemname.replaceAll(" ", "_").toLowerCase();
-
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 about 12 yearsDoh, 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 almost 5 yearsI think in most cases, your answer is better than the accepted one.