Come trovare una stringa in Java

April 1

Come trovare una stringa in Java


elaborazione delle stringhe in Java è in genere un compito semplice. Il linguaggio Java fornisce una gamma di funzioni standard per la gestione di stringhe, compresa l'individuazione di stringhe all'interno delle stringhe più grandi e la ricerca di stringhe specificate all'interno di fonti di dati come array. Trovare una stringa all'interno di un array o un'altra stringa è spesso un compito comune di programmazione Java e può essere effettuato anche da persone senza molta esperienza in Java. Trovare stringhe specificate è più probabile necessario nei casi in cui un programma è la lettura del testo da una fonte esterna.

istruzione

1 Preparare la stringa di testo per il quale si desidera effettuare la ricerca. Se non lo avete già nel vostro programma, è possibile definire la stringa che si sta cercando di utilizzare la seguente sintassi, memorizzare la stringa desiderata in una variabile:

String searchString = "auto";

È possibile utilizzare qualsiasi stringa di testo che ti piace, compresi i caratteri alfanumerici e simboli di punteggiatura, fintanto che la sequenza è definita come un oggetto Java String in questo modo.

2 Preparare un'altra stringa per la ricerca. Se hai intenzione di cercare un'altra fonte di testo come un file letto in una stringa, è possibile crearne uno a scopo dimostrativo come segue:

String stringaOrigine = "Amo la mia macchina troppo";

3 Prova la tua stringa di origine per vedere in quale posizione essa contiene la stringa che stai cercando:

int searchindex = sourceString.indexOf (searchString);

La variabile "searchindex" conterrà ora un valore di uno negativo se la stringa di ricerca non è contenuto all'interno della stringa sorgente o la posizione in cui il primo carattere si verifica se la stringa di ricerca è contenuto nella fonte.

4 Uscita il risultato per il test:

System.out.println ( "posizione di Primo carattere:" + searchindex);

Eseguire il programma per vedere quale valore viene scritto nella console.

5 Preparare una serie di test per la stringa di ricerca. Utilizzando la seguente sintassi, creare un array con valori di stringa in essa:

String [] sourceStrings = { "I", "amore", "mio", "auto", "troppo", "molto"};

6 Effettuare un test simile al test String, ma questa volta il ciclo attraverso l'array per verificare se la stringa di ricerca è contenuta all'interno di esso, e se sì a quale indice:

searchindex = -1;

for (int i = 0; i <sourceStrings.length; i ++) {

if (sourceStrings [i] .indexOf (searchString)> = 0) {

searchindex = i;

rompere;

}}

System.out.println ( "posizione di matrice:" + searchindex);

Il codice scorre la matrice test di ogni elemento per vedere se contiene la stringa. Se la stringa è contenuto all'interno di uno degli elementi dell'array, l'indice di ricerca è impostata come posizione corrente ed il ciclo è terminato. Eseguire il programma per verificare ciò che è uscita.

7 Trova l'ultima occorrenza di una stringa. Negli esempi iniziali, il codice trova la prima posizione in cui si verifica una stringa all'interno di un'altra stringa di origine o di una matrice. Si potrebbe alternativamente desiderare di trovare l'ultima posizione in cui si verifica nei casi in cui si verifica più di una volta. Per fare questo, modificare la stringa di origine e il codice di ricerca come segue:

String stringaOrigine = "Amo la mia auto più di vettura";

int searchindex = sourceString.lastIndexOf (searchString);

8 Modificare l'istruzione condizionale all'interno del ciclo per la ricerca matrice:

if (sourceStrings [i] .indexOf (searchString)> = 0) {

searchindex = i;

}

Rimuovendo l'istruzione break, il ciclo continuerà esecuzione fino a quando l'array è stato esaurito, con la variabile "searchindex" che contiene la posizione finale della stringa di ricerca dopo il ciclo è stato completato.

9 Effettuare qualsiasi elaborazione necessaria in base al risultato dell'operazione stringa di ricerca.

Consigli e avvertenze

  • Nella maggior parte dei casi, lo scopo nella ricerca di una stringa è di stabilire se la stringa è contenuto all'interno della sorgente di segnale cercato, ma anche di effettuare ulteriori lavorazioni su di esso. Esperimento con il codice modificando i valori di stringa e matrice e vedere come questo influenza l'esecuzione del programma.
  • È possibile utilizzare il metodo "indexOf" per verificare se una stringa contiene un'altra stringa semplicemente controllando se il valore restituito è maggiore o uguale a zero.
  • Le stringhe sono immutabili, il che significa che modifica i caratteri di una stringa forza la creazione di una nuova stringa. Questo dovrebbe idealmente essere ridotto al minimo in quanto utilizza risorse.