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

Sab*_*bre 39 java string android case-insensitive replaceall

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

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

String filename = bundle.getString("itemname") + ".html";
Run Code Online (Sandbox Code Playgroud)

请帮忙.

shi*_*t66 99

使用replaceAll和这样的toLowerCase方法:

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

  • 你需要把它写成itemname = itemname.replaceAll("","_").toLowerCase(); (4认同)

Chr*_*epa 14

这对我有用:

itemname = itemname.replaceAll("\\s+", "_").toLowerCase();
Run Code Online (Sandbox Code Playgroud)

replaceAll("\\s+", "_")在oposite中"first topic".replaceAll("\\s+", "_"),如果行中出现许多空格,则为您提供单个下划线:

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

first__topic - > replaceAll("\\s+", "_")

  • 我认为在大多数情况下,您的答案比公认的答案更好。 (3认同)

小智 6

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

String itemname = bundle.getString("itemname"); 
itemname = itemname.replaceAll(" ", "_").toLowerCase(); 
String filename = itemname + ".html";
Run Code Online (Sandbox Code Playgroud)