Java >> Java tutorial >  >> Tag >> String

Erstat sidste forekomst af tegn i streng Java

Erstat sidste forekomst af tegn i streng Java | I dette indlæg sigter vi mod at erstatte den sidste forekomst af tegnet i strengen, for at gøre dette er der ingen direkte metoder eller funktioner tilgængelige i Java. Se også:- Find anden forekomst af tegn i streng Java

Lad os først forstå problemet med nogle eksempler. Et eksempel på Java-streng erstatte sidste forekomst.

String ="Hej"
Tegn, der skal erstattes ='l'
Tegn til tempo ='L'

I den ovenfor givne streng er den sidste forekomst af 'l' den anden forekomst på 3. position, som bør erstattes af 'L'. Resultatet bliver som vist nedenfor.

Resultat:Hej

Overhold nu nedenstående kode. For at erstatte sidste forekomst af tegn i streng java, har vi brugt en løkke, der itererer gennem strengen fra det sidste tegn til det første tegn i strengen. Hvis tegnet, der skal erstattes, bliver fundet, erstatter det tegnet med det angivne tegn.

Program til at erstatte sidste forekomst af tegn i streng Java

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);

      System.out.print("Enter a String: ");
      String string = scan.nextLine();
      System.out.print("Enter a character to be replaced: ");
      char replace = scan.next().charAt(0);
      System.out.print("Enter a new character to place: ");
      char newChar = scan.next().charAt(0);

      // convert string to array of characters
      char[] charArr = string.toCharArray();
      for (int i = charArr.length - 1; i >= 0; i--) {
         if (charArr[i] == replace) {
            charArr[i] = newChar;
            break;
         }
      }

      // convert char array to string
      string = new String(charArr);

      System.out.println("After replacing the last occurrence " +  
                         "of \'" + replace + "\' with \'" + 
                         newChar + "\' = " + string);
      scan.close();
   }
}

Output:-

Indtast en streng:Program
Indtast et tegn, der skal erstattes:r
Indtast et nyt tegn, der skal placeres:X
Efter at have erstattet den sidste forekomst af 'r' med 'X' =ProgXam

Indtast en streng:Java
Indtast et tegn, der skal erstattes:J
Indtast et nyt tegn, der skal placeres:L
Efter at have erstattet sidste forekomst af 'J' med 'L' =Lava

Test-tilfælde, når et tegn ikke findes i den givne streng:-

Indtast en streng:Jeg elsker kodning.
Indtast et tegn, der skal erstattes:P
Indtast et nyt tegn, der skal placeres:Q
Efter at have erstattet den sidste forekomst af 'P' med 'Q' =Jeg elsker kodning.

Logikken i koden er som følger:- Vi itererer gennem løkken, indtil længden af ​​strengen bliver 0. Så i while-løkken, hvis det tegn, der skal erstattes, findes, erstatter vi det og kommer ud af løkken.


Java tag