Tengo una simple tarea de java. Necesito determinar si una cadena comienza con la letra A hasta la I. Sé que tengo que usar string.startsWith(); pero no quiero escribir, if(string.startsWith("a"));
hasta el final, parece eficiente. ¿Debería usar un bucle de algún tipo?Determinar si la cadena comienza con las letras A a I
Respuesta
if (string.charAt(0) >= 'A' && string.charAt(0) <= 'I')
{
}
debe hacerlo
No es necesario expresiones regulares para esto.
probar esto, asumiendo que usted quiere mayúsculas solamente:
char c = string.charAt(0);
if (c >= 'A' && c <= 'I') { ... }
Si usted quiere una solución de expresiones regulares sin embargo, se puede utilizar este (ideone):
if (string.matches("^[A-I].*$")) { ... }
Bien, esto funcionó. pero ¿qué significa exactamente ^, y. * $ significa? Sé que [a-i] significa a través de – Archey
quiero decir, estoy preguntando qué significa^y. * $, Y por qué lo necesito. Me gusta entender todo, ya que no hemos aprendido esto en mi clase de ciencias de la computación todavía – Archey
@Archey El medio comienza de la cadena, el. significa cualquier carácter, * significa cualquier cantidad de veces y $ es el final de la línea. Entonces, básicamente comienza la línea seguida de A-I seguido de cualquier carácter 0 o más veces hasta el final de la línea. –
Trate
string.charAt(0) >= 'a' && string.charAt(0) <= 'j'
char c=string.toLowerCase().charAt(0);
if(c >= 'a' && c <= 'i')
...
Esto hace es fácil extraerlo como método:
public static boolean startsBetween(String s, char lowest, char highest) {
char c=s.charAt(0);
c=Character.toLowerCase(c); //thx refp
return c >= lowest && c <= highest;
}
que es MUY preferible a cualquier solución en línea. Para obtener el premio, márquelo como definitivo, de modo que java lo incorpore por usted y le proporcione un mejor rendimiento que una solución codificada en línea también.
no debería estar bajando la cadena completa, mira cómo lo resolví en mi publicación, sí, lo sé; Optimización prematura ;-) –
Tiene razón, también copia todo. Siempre que se divida en un método, podría dar el paso para dividirlo en su propia variable. –
¿Qué tal esto por brevedad?
if (0 <= "ABCDEFGHI".indexOf(string.charAt(0))) {
// string starts with a character between 'A' and 'I' inclusive
}
El comentario no coincide con el código ;-) –
@Roger; corregido :-) – rsp
Razonable, ahora ponlo en un método y crea los parámetros A y I. –
si (string.toUpperCase(). CharAt (0)> = 'A' & & string.toUpperCase(). CharAt (0) = < 'I')
debe ser el más fácil versión ...
- 1. Verifica si la cadena comienza con algo?
- 2. si la cadena comienza con "xx" (PHP)
- 3. determinar si la cadena del valor de la columna comienza con un número
- 4. ¿Cómo comprobar si una cadena contiene letras inglesas (A-Z)?
- 5. Verificar si una cadena comienza con XXXX
- 6. KSH compruebe si la cadena comienza con la subcadena
- 7. Verificar si la cadena comienza con la pestaña
- 8. verificar, si la cadena comienza con la subcadena dada
- 9. jquery compruebe si la cadena comienza con 1234
- 10. C++ 11 regex: comprobando si la cadena comienza con regex
- 11. Verificar si la cadena contiene letras iniciales
- 12. clojure: Determinar eficientemente si una cadena comienza con cualquier prefijo en una colección
- 13. Si algún elemento de la lista comienza con una cadena?
- 14. Compruebe si una cadena comienza con http utilizando Javascript
- 15. ¿Cómo comprobar si una cadena comienza con una cadena especificada?
- 16. ¿Cómo quitar las letras de la cadena?
- 17. Comprobar si una cadena comienza con un número en PHP
- 18. la conversión de todas las letras mayúsculas a init tapas
- 19. Comprueba si la variable comienza con 'http'
- 20. Prueba si la cadena contiene solo letras (a-z + é ü ö ê ø ø, etc.)
- 21. Comprobando si la cadena comienza con o termina con otra cadena
- 22. cadena de análisis XML a un documento XML falla si la cadena comienza con <?xml... ?> sección
- 23. Verificar si una cadena comienza con una letra minúscula
- 24. Algoritmo para encontrar si hay alguna i de manera que array [i] es igual a i
- 25. JavaScript - comprobar si hay letras minúsculas en una cadena
- 26. Cadena no es igual a la cadena?
- 27. std :: string comparison (compruebe si la cadena comienza con otra cadena)
- 28. Compruebe si la cadena "comienza con" otra cadena en ASP clásico.
- 29. cómo determinar si una cadena contiene una secuencia de letras repetidas
- 30. Cuántas letras diferentes hay en la cadena
Mayúsculas? ¿Minúscula? ¿Ya sea? –
Si necesita coincidir con mayúsculas y minúsculas, revise mi publicación. Mark Byers solo coincide con mayúsculas y tenemos algunas publicaciones que coinciden con letras minúsculas, simplemente elija una (y actualice su pregunta para aclarar cuál es la que desea). –