次の質問があります。私のアプリにはリストビューがあります。リストビューからアイテム名を取得し、文字列としてウェブビューに転送します。この文字列の大文字と小文字を無視してスペースをアンダースコアに変更するにはどうすればよいですか?
例えば: String itemname = "First Topic"
。次のアクティビティにそれを転送し、大文字小文字を無視してスペースをアンダースコアに変更したい(first_topic
結果として)。 webviewactivityで「itemname」を取得し、次のコードについて説明したことを実行したい:
String filename = bundle.getString("itemname") + ".html";
助けてください。
次のようなreplaceAll
およびtoLowerCase
メソッドを使用します。
myString = myString.replaceAll(" ", "_").toLowerCase()
これは私のために働く:
_itemname = itemname.replaceAll("\\s+", "_").toLowerCase();
_
replaceAll("\\s+", "_")
は、連続する空白を単一の下線で置き換えます。
"first topic".replaceAll("\\s+", "_")
-> _first_topic
_
"first topic".replaceAll(" ", "_")
-> _first__topic
_
ReplaceAllおよびtoLowerCaseメソッドを使用できますが、これらは文字列を変更しないため(変更された文字列を返すだけです)、変数にバックを割り当てる必要があることに注意してください。
String itemname = bundle.getString("itemname");
itemname = itemname.replaceAll(" ", "_").toLowerCase();
String filename = itemname + ".html";