Ripeti i caratteri della stringa in Java

Rupam Yadav 12 ottobre 2023
  1. Usa String.chars() in Java 8 per ripetere tutti i caratteri in una stringa
  2. Usa String.codePoints() Java 8 per eseguire il bucle su tutti i caratteri in una stringa in Java
  3. Usa String.toCharArray() per ripetere tutti i caratteri in una stringa in Java
  4. Usa StringCharacterIterator per ripetere tutti i caratteri in una stringa in Java
  5. Usa String.split() per ripetere tutti i caratteri in una stringa in Java
Ripeti i caratteri della stringa in Java

Questo articolo introdurrà vari metodi per iterare su ogni carattere in una stringa in Java.

Usa String.chars() in Java 8 per ripetere tutti i caratteri in una stringa

Java 8 ci fornisce un nuovo metodo String.chars() che restituisce un IntStream. L ‘IntStream restituito contiene una rappresentazione intera dei caratteri nella stringa. Qui otteniamo stream1 da myString.chars().

Mappiamo l’IntStream restituito in un oggetto. Lo stream1.mapToObj() converte i valori interi nei rispettivi equivalenti di caratteri. Tuttavia, per visualizzare e leggere i caratteri, dobbiamo convertirli in una forma di caratteri user-friendly.

import java.util.stream.IntStream;

public class ForEachChar {
  public static void main(String[] args) {
    String myString = "Hello There!";
    String myString2 = "My Friends";
    String myString3 = "Happy Coding";

    IntStream stream1 = myString.chars();
    IntStream stream2 = myString2.chars();
    IntStream stream3 = myString3.chars();

    stream1.mapToObj(Character::toChars).forEach(System.out::print);
    System.out.println("");

    stream2.mapToObj(i -> new Character((char) i)).forEach(System.out::print);
    System.out.println("");

    stream3.forEach(i -> System.out.print(Character.toChars(i)));
  }
}

Produzione:

Hello There!
My Friends
Happy Coding

Usa String.codePoints() Java 8 per eseguire il bucle su tutti i caratteri in una stringa in Java

Java 8 String.codePoints() restituisce un IntStream di punti di codice Unicode da questa sequenza. Restituisce i valori ASCII del carattere passato.

Possiamo mappare l’IntStream restituito su un oggetto usando stream.mapToObj in modo che venga automaticamente convertito in un Stream<Character>. Usiamo il metodo di riferimento e stampiamo ogni carattere nella stringa specificata.

import java.util.stream.IntStream;

public class ForEachChar {
  public static void main(String[] args) {
    String myString = "Happy Coding";
    IntStream stream = myString.codePoints();
    stream.mapToObj(Character::toChars).forEach(System.out::print);
  }
}

Produzione:

Happy Coding 

Usa String.toCharArray() per ripetere tutti i caratteri in una stringa in Java

Il metodo String.toCharArray() converte la stringa data in una sequenza di caratteri. Restituisce un array Character la cui lunghezza è simile alla lunghezza della stringa.

Per iterare su ogni carattere in una stringa, possiamo usare toCharArray() e visualizzare ogni carattere.

public class ForEachChar {
  public static void main(String[] args) {
    String myString = "Hello Friends";
    char[] chars = myString.toCharArray();
    int len = chars.length;
    System.out.println("length of the char array: " + len);
    for (char ch : chars) {
      System.out.println(ch);
    }
  }
}

Produzione:

length of the char array: 13
H
e
l
l
o
 
F
r
i
e
n
d
s

Usa StringCharacterIterator per ripetere tutti i caratteri in una stringa in Java

La classe StringCharacterIterator implementa un’iterazione bidirezionale della stringa. Prende una stringa come parametro, che costruisce un iteratore con un indice iniziale di 0.

Nel cicli while, chiamiamo current() sull’iteratore it, che restituisce il carattere nella posizione corrente o restituisce DONE se la posizione corrente è la fine del testo.

Il metodo next() su it restituisce il carattere nella nuova posizione o DONE se la nuova posizione è la fine.

import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
public class ForEachChar {
  public static void main(String[] args) {
    String myString = "Hello Friends";
    CharacterIterator it = new StringCharacterIterator(myString);

    while (it.current() != CharacterIterator.DONE) {
      System.out.print(it.current());
      it.next();
    }
  }
}

Produzione:

Hello Friends

Usa String.split() per ripetere tutti i caratteri in una stringa in Java

Il metodo String.split() divide la stringa in base all’espressione regolare data e restituisce un nuovo array.

Nel codice seguente, usiamo myString.split("") per dividere la stringa tra ogni carattere. Possiamo iterare ogni carattere in str_arr e visualizzarlo.

public class ForEachChar {
  public static void main(String[] args) {
    String myString = "Hello Friends";
    String[] str_arr = myString.split("");

    for (String ch : str_arr) {
      System.out.print(ch);
    }
  }
}

Produzione:

Hello Friends
Autore: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Articolo correlato - Java String

Articolo correlato - Java Char