¿Cómo cambiar los espacios para subrayar y hacer la cadena de caracteres insensible?
Tengo la siguiente pregunta. En mi aplicación hay un listview. Recibo el nombre de elemento de listview y lo transfiero a la webview como una cadena. ¿Cómo ignorar el caso de esta cadena y cambiar los espacios a subrayados?
Por ejemplo: String itemname = "First Topic"
. Lo transfiero a la siguiente actividad y quiero ignorar el caso y cambiar el espacio para subrayar (Quiero obtener first_topic
en el resultado). Tengo "nombre de artículo" en webviewactivity y quiero hacer lo que he descrito para el código siguiente:
- Android ViewPager Detectar desplazamiento vertical
- Cómo enviar cadena de Android a php
- Uso correcto de Universal Image Loader
- Error con datos JSON Android Argumento Ilegal HttpClient
- Cómo descifrar AndroidManifest.xml
String filename = bundle.getString("itemname") + ".html";
Por favor ayuda.
- Notificación de Android con RemoteViews: actividad asociada con el diseño de RemoteViews
- Actualizar vista en tiempo de ejecución en Android
- LIBGDX ¿Es mejor usar spritesheet o imágenes individuales?
- Android N Java 8 características (Jack compilador) y Kotlin interoperabilidad
- Robotium_constructor mensaje obsoleto en el método NotepadTest para super
- Analizando JSON en Java
- Manejo de errores personalizados con Retrofit cuando se ofusca usando proguard da java.lang.reflect.UndeclaredThrowableException
- Clueless Acerca de (posible) pérdida de memoria de Android
toLowerCase
métodos replaceAll
y toLowerCase
como este:
myString = myString.replaceAll(" ", "_").toLowerCase()
Puede utilizar los métodos replaceAll & toLowerCase, pero tenga en cuenta que no cambian la cadena (solo devuelven una cadena modificada), por lo que debe asignar de nuevo la variable, por ejemplo.
String itemname = bundle.getString("itemname"); itemname = itemname.replaceAll(" ", "_").toLowerCase(); String filename = itemname + ".html";
Esto funciona para mí:
itemname = itemname.replaceAll("\\s+", "_").toLowerCase();
replaceAll("\\s+", "_")
en oposite to replaceAll("\\s+", "_")
está dando un carácter de subrayado simple en caso de que aparezcan muchos espacios en la fila:
"first topic".replaceAll("\\s+", "_")
-> first_topic
"first topic".replaceAll(" ", "_")
-> first__topic
- Deshacerse del degradado en la parte superior de una actividad (Android)
- Comprobar mediante programación Play Store para actualizaciones de la aplicación