如何将空格更改为下划线并使字符串不区分大小写?

时间:2012-02-27 07:18:45

标签: java android string case-insensitive replaceall

我有以下问题。在我的应用程序中有一个列表视图。我从listview获取itemname并将其作为字符串传输到webview。如何忽略此字符串的大小写并将空格更改为下划线?

例如:String itemname = "First Topic"。我将它转移到下一个活动,并希望忽略大小写并将空格更改为下划线(我想在结果中得到first_topic)。 我在webviewactivity中获得了“itemname”,并希望按照以下代码执行我所描述的内容:

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

请帮助。

3 个答案:

答案 0 :(得分:91)

使用replaceAlltoLowerCase这样的方法:

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

答案 1 :(得分:9)

这对我有用:

itemname = itemname.replaceAll("\\s+", "_").toLowerCase();
replaceAll("\\s+", "_")的对话中的

replaceAll("\\s+", "_")在行中出现许多空格的情况下为您提供单个下划线:

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

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

答案 2 :(得分:6)

您可以使用replaceAll& toLowerCase方法,但请记住,它们不会更改字符串(它们只返回修改后的字符串),因此您需要将背面分配给变量,例如。

String itemname = bundle.getString("itemname"); 
itemname = itemname.replaceAll(" ", "_").toLowerCase(); 
String filename = itemname + ".html";