Ho un semplice compito java. Ho bisogno di determinare se una stringa inizia con la lettera da A a I. So che devo usare string.startsWith(); ma non voglio scrivere, if(string.startsWith("a"));
fino a me, sembra efficiente. Dovrei usare un ciclo di qualche tipo?Determina se la stringa inizia con le lettere dalla A alla I
risposta
if (string.charAt(0) >= 'A' && string.charAt(0) <= 'I')
{
}
dovrebbe farlo
Non hai bisogno di espressioni regolari per questo.
Prova questa, supponendo che si desidera maiuscolo solo:
char c = string.charAt(0);
if (c >= 'A' && c <= 'I') { ... }
se si vuole una soluzione regex tuttavia, è possibile utilizzare questo (ideone):
if (string.matches("^[A-I].*$")) { ... }
Ok, questo ha funzionato. ma cosa significa esattamente il ^, e. * $ significa? So che [a-i] significa a through i – Archey
intendo dire, sto chiedendo cosa significa^e. * $, E perché ne ho bisogno. Mi piace capire tutto, dato che non abbiamo ancora imparato questo nel mio corso di informatica, – Archey
@Archey. Il mezzo inizia con la stringa, il. indica qualsiasi carattere, * indica un numero qualsiasi di volte e $ è una fine riga. Quindi, fondamentalmente l'inizio della linea seguito da A-I seguito da qualsiasi carattere 0 o più volte fino alla fine della riga. –
Prova
string.charAt(0) >= 'a' && string.charAt(0) <= 'j'
char c=string.toLowerCase().charAt(0);
if(c >= 'a' && c <= 'i')
...
Questo rende è facile estrarlo come metodo:
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;
}
che è ALTAMENTE preferito a qualsiasi soluzione in linea. Per la vittoria, taggalo come finale in modo che java lo in-linea per te e ti offre prestazioni migliori di una soluzione in-linea codificata pure.
non dovresti essere in minuscolo l'intera stringa, controlla come ho risolto nel mio post, si, lo so; ottimizzazione prematura ;-) –
Hai ragione, copia anche il tutto. Finché è diviso in un metodo, potrebbe anche fare il passo per scomporlo nella sua stessa variabile. –
Che ne dici di questo per brevità?
if (0 <= "ABCDEFGHI".indexOf(string.charAt(0))) {
// string starts with a character between 'A' and 'I' inclusive
}
Il commento non corrisponde al codice ;-) –
@Roger; corretto :-) – rsp
Ragionevole, ora mettilo in un metodo e imposta i parametri A e I. –
se (string.toUpperCase(). CharAt (0)> = 'A' & & string.toUpperCase(). CharAt (0) < = 'I')
dovrebbe essere il più semplice versione ...
- 1. Controlla se la stringa inizia con qualcosa?
- 2. Determina se la stringa è tutte maiuscole con espressione regolare
- 3. Verifica se la stringa inizia o termina con un'altra stringa
- 4. KSH verifica se la stringa inizia con la sottostringa
- 5. jquery controlla se la stringa inizia con 1234
- 6. Se la cella inizia con stringa di testo ... Formula
- 7. Controllare se la stringa contiene lettere iniziali
- 8. verifica, se la stringa inizia con una sottostringa data
- 9. La stringa di ricerca simile a SQL inizia con
- 10. Perché la stringa "\ u0022" inizia con questa stringa "\ u204D"
- 11. Controllare se la variabile Batch inizia con "..."
- 12. Come verificare se Attività inizia dalla notifica
- 13. Far corrispondere le lettere maiuscole e compilare con lettere successive fino a quando la lunghezza della stringa specifica
- 14. Controlla se una stringa inizia con http utilizzando Javascript
- 15. Regex per verificare se la stringa inizia con, ignorando le differenze tra maiuscole
- 16. Colorato con lettere a la Gmail
- 17. Verificare se una stringa inizia con un numero in PHP
- 18. bash: come verificare se una stringa inizia con '#'?
- 19. Controllare se la stringa contiene solo lettere in javascript
- 20. Verifica se una stringa inizia con una lettera minuscola
- 21. std :: confronto delle stringhe (controllare se la stringa inizia con un'altra stringa)
- 22. Come faccio a sapere se una stringa inizia con un'altra stringa in Ruby?
- 23. La stringa non è uguale alla stringa?
- 24. Controlla se la stringa "inizia con" un'altra stringa in ASP classico?
- 25. Come verificare se la stringa inizia con una determinata stringa in C?
- 26. Apache mod_rewrite solo se la richiesta non inizia con '/ THEMES /'
- 27. Come rimuovere i primi tre caratteri dalla stringa con C?
- 28. Determina la distanza dalla parte superiore di un div alla parte superiore della finestra con javascript
- 29. parsing stringa XML a un documento XML ha esito negativo se la stringa inizia con <?xml... ?> sezione
- 30. come rimuovere virgola se la stringa con virgola alla fine
Maiuscolo? Minuscolo? O? –
Se devi abbinare caratteri maiuscoli e minuscoli, controlla il mio post. Mark Byers corrisponde solo a lettere maiuscole e abbiamo alcuni post che corrispondono a lettere minuscole, basta sceglierne uno (e aggiorna la tua domanda per chiarire quale è quello che vuoi). –