J'ai la question suivante. Dans mon application, il y a une liste. J'obtiens le nom de l'élément de listview et le transfère à la webview sous forme de chaîne. Comment ignorer la casse de cette chaîne et changer les espaces en traits de soulignement?
Par exemple: String itemname = "First Topic"
. Je le transfère à l'activité suivante et je veux ignorer la casse et changer l'espace pour souligner (je veux obtenir first_topic
en conséquence). J'obtiens "itemname" dans webviewactivity et je veux faire ce que j'ai décrit pour le code suivant:
String filename = bundle.getString("itemname") + ".html";
S'il vous plaît, aidez.
utilisez les méthodes replaceAll
et toLowerCase
comme ceci:
myString = myString.replaceAll(" ", "_").toLowerCase()
Cela fonctionne pour moi:
itemname = itemname.replaceAll("\\s+", "_").toLowerCase();
replaceAll("\\s+", "_")
remplace les espaces blancs consécutifs par un seul trait de soulignement.
"first topic".replaceAll("\\s+", "_")
-> first_topic
"first topic".replaceAll(" ", "_")
-> first__topic
Vous pouvez utiliser les méthodes replaceAll & toLowerCase mais gardez à l'esprit qu'elles ne changent pas la chaîne (elles renvoient juste une chaîne modifiée), vous devez donc affecter le retour à la variable, par exemple.
String itemname = bundle.getString("itemname");
itemname = itemname.replaceAll(" ", "_").toLowerCase();
String filename = itemname + ".html";