Maison >Java >javaDidacticiel >Écrivez un programme en Java pour remplacer tous les caractères d'un fichier par '#' sauf des mots spécifiques

Écrivez un programme en Java pour remplacer tous les caractères d'un fichier par '#' sauf des mots spécifiques

WBOY
WBOYavant
2023-09-13 08:57:17992parcourir

Écrivez un programme en Java pour remplacer tous les caractères dun fichier par # sauf des mots spécifiques

Méthode split() de la classe String. Divisez la chaîne actuelle en correspondances de l’expression régulière donnée. Le tableau renvoyé par cette méthode contient chaque sous-chaîne de cette chaîne qui se termine par une autre sous-chaîne correspondant à l'expression donnée ou se terminant à la fin de la chaîne.

replaceAll() La méthode de la classe String accepte deux chaînes représentant des expressions régulières et une chaîne de remplacement et remplace la valeur correspondante par la chaîne donnée.

Remplacez tous les caractères du fichier, à l'exception de mots spécifiques, par "#" (sens unique) -

  • Lisez le contenu du fichier dans une chaîne.

  • Créez un objet StringBuffer vide.

  • Utilisez la méthode split() pour diviser la chaîne obtenue en un tableau de chaînes.

  • Parcourez le tableau obtenu.

  • Si un élément correspond au mot souhaité, ajoutez-le au tampon String.

  • Remplacez tous les caractères des mots restants par "#" et ajoutez-les à l'objet StringBuffer.

  • Enfin, convertissez StingBuffer en String.

    >

Exemple

Supposons que nous ayons un fichier appelé sample.txt qui contient le contenu suivant-

Hello how are you welcome to Tutorialspoint we provide hundreds of technical tutorials for free.

Le programme suivant lit le contenu du fichier sous forme de chaîne et convertit tous les caractères qu'il contient, à l'exception d'un mot spécifique. Remplacez par " #".

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Scanner;
public class ReplaceExcept {
   public static String fileToString() throws FileNotFoundException {
      String filePath = "D://input.txt";
      Scanner sc = new Scanner(new File(filePath));
      StringBuffer sb = new StringBuffer();
      String input;
      while (sc.hasNextLine()) {
         input = sc.nextLine();
         sb.append(input);
      }
      return sb.toString();
   }
   public static void main(String args[]) throws FileNotFoundException {
      String contents = fileToString();
      System.out.println("Contents of the file: \n"+contents);
      //Splitting the words
      String strArray[] = contents.split(" ");
      System.out.println(Arrays.toString(strArray));
      StringBuffer buffer = new StringBuffer();
      String word = "Tutorialspoint";
      for(int i = 0; i < strArray.length; i++) {
         if(strArray[i].equals(word)) {
            buffer.append(strArray[i]+" ");
         } else {
            buffer.append(strArray[i].replaceAll(".", "#"));
         }
      }
      String result = buffer.toString();
      System.out.println(result);
   }
}

sortie

Contents of the file:
Hello how are you welcome to Tutorialspoint we provide hundreds of technical tutorials for free.
[Hello, how, are, you, welcome, to, Tutorialspoint, we, provide, hundreds, of, technical, tutorials, for, free.]
#######################Tutorialspoint ############################################

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer